问一个积分的问题
本帖最后由 皮卡丘 于 2011-6-28 16:14 编辑我在求积分的时候一直出现这个问题:Not enough inputs to inline function. 想问问高手应该如何解决啊!A5=zeros(1,mm);代码如下:
K11=[ks1 -ks1 0 0 0 A5 A5 A5;
-ks1 (ks1+ks2)+k21+k22+k23+k24 -ks2 0 0 k023 A5 A5;
0 -ks2 (ks2+kb) -kb 0 A5 A5 A5;
0 0 -kb (kb+k1f) -k1f A5 A5 A5;
0 0 0 -k1f k1f A5 A5 A5;
A5' k022 A5' A5' A5' k024+k_uu0 k_uv0 k_uw0;
A5' A5' A5' A5' A5' k_uv0' k_vv0 k_vw0;
A5' A5' A5' A5' A5' k_uw0' k_vw0' k_ww0];
for i=1:1:(5+mm*3)
for j=1:(5+mm*3)
fun=inline(K11(i,j));
=guasslegendre(fun,-1,1);
KL(i,j)=ql;
end
end
整个矩阵的变量就是x ,范围是[-1 1] LZ好像有点高估看官!?
给的代码不齐, 并无法复製LZ的错误!? 回复 2 # ChaChing 的帖子
哎呀 不好意思了 应该是这样:
syms x theta
A=
就是类似于这样的一个积分,要对x,theta分别在[-1 1],上积分,真实矩阵是200*200,所以用Int很慢,想用dblquad可是又老是有这样那样的错误,所以想问问哪位大侠可以帮忙解决一下,谢谢~ 回复 3 # 皮卡丘 的帖子
个人水平/时间有限, 还是不知道LZ怎使用dblquad, 出现那样的错误!? :@) 回复 4 # ChaChing 的帖子
fun=inline('A','x','theta')
dblquad(fun,-1,1,0,2*pi) 回复 5 # 皮卡丘 的帖子
没出现1F说的"Not enough inputs to inline function"的错误!?
到底...???
LZ在command window一行一行试下, 并看看差异!
syms x theta
A=
aa='A' 回复 6 # ChaChing 的帖子
谢谢你首先!我试了syms x theta
A=
fun=inline(A,'x','theta')
dblquad(fun,-1,1,0,2*pi)有错误;试了syms x theta
A=
aa='A'
fun=inline(aa,'x','theta')
dblquad(fun,-1,1,0,2*pi) 也有错误 想问问大侠应该如何修改啊~ 回复 7 # 皮卡丘 的帖子
1.矩阵可以当fun handle? 不清楚
2.LZ需分清楚symbolic与char的差异clc; clear; syms x theta
A=;
ii=1; jj=1;
fun=inline(char(A(ii,jj)),'x','theta'); dblquad(fun,-1,1,0,2*pi) 回复 8 # ChaChing 的帖子
哇哇 没想到困扰了我好多天的问题 大侠一下就解决了 实在是太感谢你了 谢谢啦~~~ 回复 9 # 皮卡丘 的帖子
别生气, 其实LZ早给问题清楚些, 比个人厉害的人才愿意出手! 回复 10 # ChaChing 的帖子
嘻嘻 您说的是~~~
页:
[1]