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

求解多元积分

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
clc;%总润滑方程求解
3 d6 }/ e3 l" z- }/ q3 w( s' qclear;1 a9 }; n! E2 t+ Z$ d! d9 i6 m  M
close all& Q% o3 r' N" J) F
syms a b c d e x L O P U t o p
* h3 m1 n/ t. v8 S5 rK=5;%常量
# }& i( s) k$ e- ]h=2;%常量 多孔储液介质厚度- `; {  l! b. r) [4 o) G$ r
D=0.012;%半径
/ t, M4 F# U, R' x1 u! FH=0.2;%压缩后的高度
5 J+ l  j- |# M, u' F$ LL=@(x)0.2.*x;
$ R0 ?- s$ o4 n3 w/ v  G! A9 r+ b9 [% % % % 计算与孔隙率相关的brinkman数
8 G, k4 Z& R2 F' {) Vc=@(t)((t.^3.*D.^2)./(36.*(1-t).^2.*K)).^2;%渗透率求解$ Z: I5 {' |3 Z) m- n( |- m
t1=0.0033;%孔隙率7 v4 k7 t8 l) T% l; h
a=L./c(t1);%a为brinkman数! g7 n% g1 |) v- I" {
b=H./c(t1);
+ J% a! S# M6 ?3 B; K% % % % 计算方程中的f,控制此处f不与x一起变化7 c! b# U3 ~: b: }2 Q
f=(cos(h.*b.*H)-1)/(b.*sin(h.*b.*H));
& R; b6 G, w7 ^- {% % % % 计算方程中常数余项C,此处x只与a有关
7 w: ]! v4 R0 p0 Ao=@(x)(a(x).^2.*(H-f)./(2.*f-H));
5 ~* w" |; X9 T  a" h! Gp=@(x)(a(x).^2./(2.*f-H));
# p7 e$ Z& g6 U$ R6 Z. ?O=int(o(x),0,1);
! p. T. H$ E9 J3 \! WP=int(p,0,1);% [2 O. e4 F' k6 L1 P) ~/ m
c=O./P;
3 p/ t4 C+ Y4 k( @! T%%%%计算润滑升力# V  A/ k* q# {! }
d=@(x)(1-x).*L./c(t1).^2.*(H-f+c)./(2.*f-H);
. s2 A* W* E$ S# Y) `, YU=int(d,0,1);# n; V1 g7 O  C
我的代码一直在报错,请求高手帮忙看看哪里出了问题。
2 w" [2 x" u. |错误提示:未定义与 'function_handle' 类型的输入参数相对应的函数 'rdivide'。
8 @4 b7 g% Q4 R, g: f9 H- h6 a' s6 ^6 i0 u8 u* G$ d* @. [) T
出错 runhuashengli (line 13)  |- L& g' Q* o! _5 X8 d
a=L./c(t1);%a为brinkman数  h  x. N# o/ q  r, g  t( i. |( n

该用户从未签到

2#
发表于 2020-12-9 11:29 | 只看该作者
错的地方太多,你需要先搞清楚MATLAB匿名函数的定义方法和调用的语法规则" H* W9 M0 C5 f+ G

该用户从未签到

3#
发表于 2020-12-9 13:23 | 只看该作者
前面既然使用了匿名函数 L=@(x)0.2.*x; 那么后面除非是使用函数句柄时可以只写L,当你需要使用含有某个自变量的式子的时候,就需要写成 L(x)。" y# M, d, D) y9 G, Y" P
- q& C; b# a6 t: D4 z7 b+ W
相应地,a的赋值右侧包含L函数,所以a也需要写成函数形式,否则后面对o和p的计算,你写的这个a(x)就没法算了。' X1 p" W' }. _
! u" d9 b& z# e7 c) B2 V
再者,避免变量与函数重复命名,你既写了匿名函数
- v+ ~8 {7 L$ o: u/ ec=@(t)((t.^3.*D.^2)./(36.*(1-t).^2.*K)).^2;%渗透率求解
6 c8 F/ p6 s- V后面却又写了
* K- G, X, A. f2 c4 T' s: I( C+ nc=O./P; %这算出来要么是个数值要么是个符号表达式6 U4 L, G* T: J+ O" Z
- \1 [- h7 j5 u; I$ p* d
可是MATLAB系统里面只能有一个被命名为c的量,它不能同时表示这两者,这直接导致你最后对d的算式中同时出现的
  s! A5 P/ ~- _, ad = @( x )( 1 - x ) .* L( x ) ./ c( t1 ).^2 .* ( H - f + c )./( 2 .* f - H );
- o; A! l5 ?! x' {6 _+ w8 O/ K: g+ y会出错
9 v3 l1 L' @2 x' f& }, x, N

该用户从未签到

4#
发表于 2020-12-9 13:23 | 只看该作者
syms x
8 ?+ f" O* T( }K = 5;%常量$ T6 b1 o7 z9 P# u5 K- i
h = 2;%常量 多孔储液介质厚度0 C" n4 Z% q4 ?5 J- V5 s' E
D = 0.012;%半径3 C/ d) j: J: F% N. G3 `
H = 0.2;%压缩后的高度
+ X% x# W, y0 H1 z& FL = @( x ) 0.2.*x;5 e$ R& V' w; ]# l  x$ e0 t2 j  m
% % % % 计算与孔隙率相关的brinkman数
- v: J. N  ?$ Vc = @( t )( ( t.^3.*D.^2 )./( 36.*( 1-t ).^2.*K ) ).^2;%渗透率求解
& X9 L' n3 D! z8 G5 V2 R$ z- R7 h! C. zt1 = 0.0033;%孔隙率
" ]$ H, v8 f; r; ]) m! n, m, `5 sa =@( x ) L( x )./c( t1 );%a为brinkman数
- F; r. X% I# Bb = H./c( t1 );
& ^% o) C% u: P; P1 L4 B% % % % 计算方程中的f,控制此处f不与x一起变化
. r* T8 b8 @8 i4 E6 @f = ( cos( h.*b.*H )-1 )/( b.*sin( h.*b.*H ) );
; x8 J# a7 ?7 C! @: l% % % % 计算方程中常数余项C,此处x只与a有关
2 ?9 M0 g* }4 T( Uo = @( x )( a( x ).^2.*( H-f )./( 2.*f-H ) );# `7 u7 E& ^+ K6 r! K: F
p = @( x )( a( x ).^2./( 2.*f-H ) );
$ ~! w( J( q; V$ pO = int( o( x ), 0, 1 );
% e$ I# {/ l+ O. I( YP = int( p( x ), 0, 1 );
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-10-6 23:15 , Processed in 0.140625 second(s), 23 queries , Gzip On.

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

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

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