找回密码
 注册
关于网站域名变更的通知
查看: 465|回复: 3
打印 上一主题 下一主题

求解多元积分

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-12-9 11:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
clc;%总润滑方程求解6 O3 ^1 z  ]/ B* ?3 n5 A. R
clear;
( C3 ]1 I, H3 ]& j  Rclose all1 l) v. b  P# r% v
syms a b c d e x L O P U t o p
" F3 ~+ l# Y' e  F9 t$ xK=5;%常量! {6 `, J1 J5 B1 ^
h=2;%常量 多孔储液介质厚度' U* b2 ]! \; ~+ c
D=0.012;%半径5 ~8 G/ j0 t; Z" ]
H=0.2;%压缩后的高度
; S5 ?: q9 }/ f. \. OL=@(x)0.2.*x;
5 X# f9 i2 ^2 W( h! k2 l" z" S1 M% % % % 计算与孔隙率相关的brinkman数
& h* s" e% U( h+ ?) fc=@(t)((t.^3.*D.^2)./(36.*(1-t).^2.*K)).^2;%渗透率求解
; ~( J  E! E. T% ^* ^2 at1=0.0033;%孔隙率
6 K" K5 @8 N% j& }0 Wa=L./c(t1);%a为brinkman数) [, ~# q1 d. g* O3 ~) m
b=H./c(t1);, y& A% l* G; B: a( [( z
% % % % 计算方程中的f,控制此处f不与x一起变化
9 ]& ]" q" y: Tf=(cos(h.*b.*H)-1)/(b.*sin(h.*b.*H));+ M# O! r/ H' q" S3 c3 W' d& u
% % % % 计算方程中常数余项C,此处x只与a有关
1 h. ]! X0 r  |# b; H3 @o=@(x)(a(x).^2.*(H-f)./(2.*f-H));. \, ?& Y5 b1 Q# I9 x
p=@(x)(a(x).^2./(2.*f-H));% [5 l2 ^+ H9 m+ f- |( y$ o
O=int(o(x),0,1);$ f' C, X  a+ \* Q9 @7 }4 B
P=int(p,0,1);
0 F" v) J+ K1 P$ |" n7 U& `: @: Kc=O./P;* ?- d& W! u% ?
%%%%计算润滑升力6 A1 x& [- q9 B5 G7 V; z/ J& U* y8 i
d=@(x)(1-x).*L./c(t1).^2.*(H-f+c)./(2.*f-H);& B* ]8 y0 K+ @9 x
U=int(d,0,1);
" C' g, n! U% h' y6 r6 p我的代码一直在报错,请求高手帮忙看看哪里出了问题。. T" {) w' U# k; D
错误提示:未定义与 'function_handle' 类型的输入参数相对应的函数 'rdivide'。
4 ~( a2 i0 p. y2 P7 A
/ _; x9 }- `) d4 [. O0 ]出错 runhuashengli (line 13)
* W+ G! B3 z$ Ca=L./c(t1);%a为brinkman数7 Y. G4 h( F& \' ^8 I( e

该用户从未签到

2#
发表于 2020-12-9 11:29 | 只看该作者
错的地方太多,你需要先搞清楚MATLAB匿名函数的定义方法和调用的语法规则
  G# q3 s# G, y& k. k. p( D1 l" n

该用户从未签到

3#
发表于 2020-12-9 13:23 | 只看该作者
前面既然使用了匿名函数 L=@(x)0.2.*x; 那么后面除非是使用函数句柄时可以只写L,当你需要使用含有某个自变量的式子的时候,就需要写成 L(x)。# d: m6 A7 B; q# V# \' Q9 y
8 c8 R8 s% c: P, Y
相应地,a的赋值右侧包含L函数,所以a也需要写成函数形式,否则后面对o和p的计算,你写的这个a(x)就没法算了。
9 u$ Z& u* a" a! r! F9 S* N" Q' k2 ?( ~+ ^+ w' H: d
再者,避免变量与函数重复命名,你既写了匿名函数! \; V8 X  u. g/ x! ]8 I3 s
c=@(t)((t.^3.*D.^2)./(36.*(1-t).^2.*K)).^2;%渗透率求解! `2 _7 ~, f- d; F2 ^: T
后面却又写了
% y3 ?. q) j  m" V6 Z* Qc=O./P; %这算出来要么是个数值要么是个符号表达式6 {. o+ X( p3 k, F
( h. m2 [7 o% W9 S4 X: |* i; O
可是MATLAB系统里面只能有一个被命名为c的量,它不能同时表示这两者,这直接导致你最后对d的算式中同时出现的
& N3 K/ c! h/ S+ gd = @( x )( 1 - x ) .* L( x ) ./ c( t1 ).^2 .* ( H - f + c )./( 2 .* f - H );1 o& N8 f2 i  m7 Q. d
会出错* D% {% w3 d, ]7 w4 p

该用户从未签到

4#
发表于 2020-12-9 13:23 | 只看该作者
syms x
  D( E9 X2 n( i+ T, gK = 5;%常量
& @5 ^' K, L' Z! _9 s! I- ^h = 2;%常量 多孔储液介质厚度
4 D3 |' Z2 s3 U% D/ k) Z/ R# hD = 0.012;%半径
7 ?0 O5 d3 @1 X) Z! ~( IH = 0.2;%压缩后的高度
7 x: u6 C, `& {! U7 {" G/ ML = @( x ) 0.2.*x;
6 i! O; \$ f- P9 X+ q+ \% ?0 o% % % % 计算与孔隙率相关的brinkman数8 @" r# p: |. a9 |
c = @( t )( ( t.^3.*D.^2 )./( 36.*( 1-t ).^2.*K ) ).^2;%渗透率求解, \% W7 C. Q. f! U) u: g
t1 = 0.0033;%孔隙率8 v; ~/ m  b# B* G: m
a =@( x ) L( x )./c( t1 );%a为brinkman数
7 Y1 Q; o, b- W6 `. ]0 R; ?b = H./c( t1 );, |8 D+ q5 y- H$ z# B
% % % % 计算方程中的f,控制此处f不与x一起变化( K  g; \0 T3 m& a* d, U# R) R
f = ( cos( h.*b.*H )-1 )/( b.*sin( h.*b.*H ) );
3 L; l" [5 }% v% % % % 计算方程中常数余项C,此处x只与a有关9 h  ^. _. C3 C* }7 k$ @) _# F+ `  J. K
o = @( x )( a( x ).^2.*( H-f )./( 2.*f-H ) );
% F: l. Y: x, [" {6 @p = @( x )( a( x ).^2./( 2.*f-H ) );
7 G( O: N2 a9 k% ?O = int( o( x ), 0, 1 );
2 ^, a$ q5 V) t! x& V( SP = int( p( x ), 0, 1 );
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-8-13 11:00 , Processed in 0.109375 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表