皮卡丘 发表于 2011-6-28 14:04

问一个积分的问题

本帖最后由 皮卡丘 于 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]

ChaChing 发表于 2011-6-29 00:01

LZ好像有点高估看官!?
给的代码不齐, 并无法复製LZ的错误!?

皮卡丘 发表于 2011-6-29 09:15

回复 2 # ChaChing 的帖子

哎呀 不好意思了 应该是这样:
syms x theta
A=
就是类似于这样的一个积分,要对x,theta分别在[-1 1],上积分,真实矩阵是200*200,所以用Int很慢,想用dblquad可是又老是有这样那样的错误,所以想问问哪位大侠可以帮忙解决一下,谢谢~

ChaChing 发表于 2011-6-29 23:20

回复 3 # 皮卡丘 的帖子

个人水平/时间有限, 还是不知道LZ怎使用dblquad, 出现那样的错误!? :@)

皮卡丘 发表于 2011-6-30 12:23

回复 4 # ChaChing 的帖子

fun=inline('A','x','theta')
dblquad(fun,-1,1,0,2*pi)

ChaChing 发表于 2011-7-1 00:11

回复 5 # 皮卡丘 的帖子

没出现1F说的"Not enough inputs to inline function"的错误!?
到底...???

LZ在command window一行一行试下, 并看看差异!
syms x theta
A=
aa='A'

皮卡丘 发表于 2011-7-1 09:40

回复 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) 也有错误 想问问大侠应该如何修改啊~

ChaChing 发表于 2011-7-1 14:34

回复 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)

皮卡丘 发表于 2011-7-1 15:42

回复 8 # ChaChing 的帖子

哇哇 没想到困扰了我好多天的问题 大侠一下就解决了 实在是太感谢你了 谢谢啦~~~

ChaChing 发表于 2011-7-2 00:16

回复 9 # 皮卡丘 的帖子

别生气, 其实LZ早给问题清楚些, 比个人厉害的人才愿意出手!

皮卡丘 发表于 2011-7-2 15:26

回复 10 # ChaChing 的帖子

嘻嘻 您说的是~~~
页: [1]
查看完整版本: 问一个积分的问题