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

求解多元积分

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
clc;%总润滑方程求解9 F, y( p+ w& S( M
clear;* k# T4 t  v& I- L
close all
. r7 p/ k1 Y9 q5 h2 bsyms a b c d e x L O P U t o p
3 I& j0 X" b6 C8 OK=5;%常量
% J: ]& ?/ Y  D& U8 z2 G$ r# gh=2;%常量 多孔储液介质厚度$ q4 |6 Q9 R# I  F5 Y1 }
D=0.012;%半径
% m. l4 ~! O& W* FH=0.2;%压缩后的高度' H6 g" f6 H. C9 M
L=@(x)0.2.*x;
% e' a: A8 _3 Z4 J0 {# X( q% % % % 计算与孔隙率相关的brinkman数
- {) `* r: p: r% I- n& ]1 ~7 X( kc=@(t)((t.^3.*D.^2)./(36.*(1-t).^2.*K)).^2;%渗透率求解+ b( w- M2 J" q7 _: E$ ^
t1=0.0033;%孔隙率3 Y& J, s( g' d# l7 V) w+ c- J7 R1 o
a=L./c(t1);%a为brinkman数# Y9 ~; t& ~* B: l( Q- B+ Y
b=H./c(t1);
" H" z8 `& A* D5 ]2 Q$ q% % % % 计算方程中的f,控制此处f不与x一起变化
7 B; l) S1 y# K+ S" r5 C0 Rf=(cos(h.*b.*H)-1)/(b.*sin(h.*b.*H));
7 L! g: V# K! i% % % % 计算方程中常数余项C,此处x只与a有关; h  A1 H6 R* s4 m
o=@(x)(a(x).^2.*(H-f)./(2.*f-H));
' M* ]1 Q( r1 @p=@(x)(a(x).^2./(2.*f-H));
& l% P8 e' v, Q$ x' ?! N7 vO=int(o(x),0,1);1 Y# V- t2 |! N, H( l
P=int(p,0,1);3 Q. P( v- `4 b$ {) Z, N+ ~
c=O./P;8 a  J" C% s9 O8 @, H
%%%%计算润滑升力
1 u, U" N( K! S5 Zd=@(x)(1-x).*L./c(t1).^2.*(H-f+c)./(2.*f-H);
# D  x; |! A3 S7 ?* PU=int(d,0,1);
! \7 T/ ^/ ~" [: M$ R* {: E我的代码一直在报错,请求高手帮忙看看哪里出了问题。
! c9 y& y2 j, i# l7 \错误提示:未定义与 'function_handle' 类型的输入参数相对应的函数 'rdivide'。
4 H; L4 N8 `3 t) S5 N2 |% z6 q( U5 B: h: w  V* A/ O5 ^5 B
出错 runhuashengli (line 13)3 D* P+ J, G3 \. r8 V& I. L7 w9 p
a=L./c(t1);%a为brinkman数
1 Q1 O8 H4 u9 f/ h; S

该用户从未签到

2#
发表于 2020-12-9 11:29 | 只看该作者
错的地方太多,你需要先搞清楚MATLAB匿名函数的定义方法和调用的语法规则
  [: K. D0 h% r7 ~* X

该用户从未签到

3#
发表于 2020-12-9 13:23 | 只看该作者
前面既然使用了匿名函数 L=@(x)0.2.*x; 那么后面除非是使用函数句柄时可以只写L,当你需要使用含有某个自变量的式子的时候,就需要写成 L(x)。
# u" p  g0 ?" z! w, s! K& W/ n& T* X$ t3 }) A. g7 ^% b
相应地,a的赋值右侧包含L函数,所以a也需要写成函数形式,否则后面对o和p的计算,你写的这个a(x)就没法算了。
. V) C( l% M  x* y$ F1 m* Q) t" b& C) s) ^% ~
再者,避免变量与函数重复命名,你既写了匿名函数( C' d/ R9 l$ E2 v: w
c=@(t)((t.^3.*D.^2)./(36.*(1-t).^2.*K)).^2;%渗透率求解
. Z- m+ q  V. i1 P8 p后面却又写了, Z/ o. |+ V3 @/ j
c=O./P; %这算出来要么是个数值要么是个符号表达式
& ?3 P/ d7 y9 s3 b/ C: L8 C
1 |0 g( q3 E! o8 K; {: S可是MATLAB系统里面只能有一个被命名为c的量,它不能同时表示这两者,这直接导致你最后对d的算式中同时出现的4 Z" [9 w, Y9 c8 n# W2 f
d = @( x )( 1 - x ) .* L( x ) ./ c( t1 ).^2 .* ( H - f + c )./( 2 .* f - H );; q0 [6 Z; K9 W$ F
会出错
9 P" h1 m1 B3 d) a

该用户从未签到

4#
发表于 2020-12-9 13:23 | 只看该作者
syms x( _- U  R) C( O0 w; i* ]! @
K = 5;%常量
# Q! }5 b5 G, a# g5 p# a, @4 z9 g+ D) }h = 2;%常量 多孔储液介质厚度
7 z+ M! u7 u( c& M7 oD = 0.012;%半径9 U! Q. D5 L  {) W% S' S
H = 0.2;%压缩后的高度
2 c! h/ |  ~4 }% WL = @( x ) 0.2.*x;7 p0 T6 v, ^8 u5 w& t! p
% % % % 计算与孔隙率相关的brinkman数
9 F2 K, m9 ?1 X1 p9 t" oc = @( t )( ( t.^3.*D.^2 )./( 36.*( 1-t ).^2.*K ) ).^2;%渗透率求解& L3 W0 B% Z/ U8 B0 J* z2 N) Z2 U
t1 = 0.0033;%孔隙率
' T5 o( ]7 D& S5 }! s% na =@( x ) L( x )./c( t1 );%a为brinkman数( Q  b. W# x+ w8 g3 J, X2 a/ {1 s; W
b = H./c( t1 );, L: b. @: R9 m4 C/ ^7 r
% % % % 计算方程中的f,控制此处f不与x一起变化. z% q6 \5 q* ]$ H
f = ( cos( h.*b.*H )-1 )/( b.*sin( h.*b.*H ) );" }- `7 H$ w$ t8 I! A2 Z5 F7 A9 X
% % % % 计算方程中常数余项C,此处x只与a有关
- E1 e" s* W$ O) l4 e, Eo = @( x )( a( x ).^2.*( H-f )./( 2.*f-H ) );
. [: Y, n  j$ T7 @9 P  H4 dp = @( x )( a( x ).^2./( 2.*f-H ) );4 s, {7 }6 b% o
O = int( o( x ), 0, 1 );1 g) A/ b* o& y: y& g# f1 V
P = int( p( x ), 0, 1 );
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-24 16:19 , Processed in 0.187500 second(s), 24 queries , Gzip On.

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

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

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