查看: 3424|回复: 9|关注: 0
打印 上一主题 下一主题

: [已解决] 未定义与 'double' 类型的输入参数相对应的函数 'int'

[复制链接]

新手

14 麦片

财富积分


陕西十一选五计划 www.3vdvp.cn 050


6

主题

16

帖子

0

最佳答案
我需要解一个线性定常系统的方程,所以需要求矩阵的积分,但是出现了“未定义与 'double' 类型的输入参数相对应的函数 'int'”的问题,int函数在matlab里面不是本来就自带的有吗?请问是不是我的程序有错?

论坛优秀回答者

入门

204 麦片

财富积分


50500


16

主题

353

帖子

41

最佳答案
  • 关注者: 8
2#
发表于 2018-5-14 17:00:58 | 只看该作者
int被识别成了函数名吧? 你改成single试试报错吗

新手

14 麦片

财富积分


050


6

主题

16

帖子

0

最佳答案
3#
 楼主| 发表于 2018-5-14 18:16:25 | 只看该作者
洛克先生___ 发表于 2018-5-14 17:00
int被识别成了函数名吧? 你改成single试试报错吗

您好,single函数没用过,请问具体需要怎么改?

论坛优秀回答者

入门

204 麦片

财富积分


50500


16

主题

353

帖子

41

最佳答案
  • 关注者: 8
4#
发表于 2018-5-15 08:26:13 | 只看该作者
kuangkaii 发表于 2018-5-14 18:16
您好,single函数没用过,请问具体需要怎么改?

倒数第二行,将int改为single  看看报错吗

新手

14 麦片

财富积分


050


6

主题

16

帖子

0

最佳答案
5#
 楼主| 发表于 2018-5-15 14:57:11 | 只看该作者
洛克先生___ 发表于 2018-5-15 08:26
倒数第二行,将int改为single  看看报错吗

按您的方法改了以后不会报错,但是single并不是求积分的函数,我该怎么做才能顺利的求这个矩阵的积分

论坛优秀回答者

入门

204 麦片

财富积分


50500


16

主题

353

帖子

41

最佳答案
  • 关注者: 8
6#
发表于 2018-5-15 15:13:12 | 只看该作者
kuangkaii 发表于 2018-5-15 14:57
按您的方法改了以后不会报错,但是single并不是求积分的函数,我该怎么做才能顺利的求这个矩阵的积分 ...

quad函数试试

论坛优秀回答者

入门

204 麦片

财富积分


50500


16

主题

353

帖子

41

最佳答案
  • 关注者: 8
7#
发表于 2018-5-15 15:37:15 | 只看该作者 |此回复为最佳答案
kuangkaii 发表于 2018-5-15 14:57
按您的方法改了以后不会报错,但是single并不是求积分的函数,我该怎么做才能顺利的求这个矩阵的积分 ...

首先你要知道,Matlab 中int()这个函数是对括号中的表达式积分,所以要限定义一个负号变量,比如x,程序如下:
x = sym('x');
y = int(x);
程序结果是:
y = 1/2*x^2
对于你的问题,要先定义n,就可以了

举个例子:
syms x;
int(x)
int(x,0,1)
得到的结果如下:
ans =

        x^2/2
ans =

        1/2
syms表示定义一个符号变量,符号变量区别于数值型的那些变量,用于进行公式的化简和计算。
int表示积分,第一个算的是不定积分,当然你也可以像第二句那样计算定积分,写入上下限。当然也可以对其中的某一个变量做积分,比如,你可以用这样的命令:
syms x z;
int(x/(1 + z^2), z)
结果:
ans =

        x*atan(z)

新手

14 麦片

财富积分


050


6

主题

16

帖子

0

最佳答案
8#
 楼主| 发表于 2018-5-15 16:09:24 | 只看该作者
洛克先生___ 发表于 2018-5-15 15:37
首先你要知道,Matlab 中int()这个函数是对括号中的表达式积分,所以要限定义一个负号变量,比如x,程序 ...

之后我定义了t为变量,int报错的问题解决。但是现在报错为“Output returned by S-function 'PWA' in 'ceshi/S-Function1' during flag=3 call must be a real vector of length 1”。但是根据我公式中的矩阵计算,最后计算出的输出就是一个常数,一行一列,我猜测是我在将t定义为未知量后,我想要的是每个步长计算一次积分,但是有可能添加了syms t后矩阵并没有计算出每个当前时刻下的值,所以最后没有算出最终的输出导致了报错。下面是输出函数的程序:
function sys=mdlOutputs(t,x,u)
A=[0 -10000;1000 -20];
B=[10000;0];
C=[0 1];
tao=0.0000125;
O=expm(A*tao);
syms t;
v=tao-t;
eAv=expm(A*v);
f=(eAv)*B*300;
Intf=int(f);
T=Intf;
Vo=u(2);
Y2ref=Vo;
i=u(1);
%Dd0=u(3);
d=u(3);
X1=[i;Vo];
if 0<=d<1/3
    X2=(0^3)*X1+3*(0^2)*T*d;
    Y2=C*X2;
    s1=(3*C*(O^2)*T)'*(3*C*(O^2)*T)+1;
    Dd0=(3*C*(O^2)*T)'*1*(Y2ref-C*(0^3)*X1-3*C*(0^2)*T*d)/s1;
    Dd=Dd0;
    D=d+Dd;
    sys=D;
elseif 1/3<=d<2/3
        X2=(0^3)*X1+3*0*T*(d)+(0^2)*T-O*T;
        Y2=C*X2;
        s1=(3*C*(O^2)*T)'*(3*C*(O^2)*T)+1;
        Dd0=(3*C*(O^2)*T)'*1*(Y2ref-C*(0^3)*X1-3*C*(0^2)*T*d-C*((0^2)*T-O*T))/s1;
        Dd=Dd0;
        D=d+Dd;
        sys=D;
else
        X2=(0^3)*X1+3*T*(d)+(0^2)*T+O*T-2*T;
        Y2=C*X2;
        s1=(3*C*(O^2)*T)'*(3*C*(O^2)*T)+1;
        Dd0=(3*C*(O^2)*T)'*1*(Y2ref-C*(0^3)*X1-3*C*(0^2)*T*d-C*((0^2)*T+O*T-2*T))/s1;
        Dd=Dd0;
        D=d+Dd;
        sys=D;
end

论坛优秀回答者

入门

204 麦片

财富积分


50500


16

主题

353

帖子

41

最佳答案
  • 关注者: 8
9#
发表于 2018-5-15 16:21:35 | 只看该作者
本帖最后由 洛克先生___ 于 2018-5-16 08:34 编辑
kuangkaii 发表于 2018-5-15 16:09
之后我定义了t为变量,int报错的问题解决。但是现在报错为“Output returned by S-function 'PWA' in 'c ...

重新发个贴吧  要不大神们看不到

新手

10 麦片

财富积分


050


6

主题

12

帖子

0

最佳答案
10#
发表于 2018-11-14 15:26:31 | 只看该作者
请问你怎么解决的,我也是这样未定义与 'double' 类型的输入参数相对应的函数 'int'。打算用ode45求一个微分方程,其中有矩阵积分
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /3 下一条

快速回复 陕西十一选五计划 返回列表
  • 山西日报系列评论:三晋之声 2018-12-10
  • 扫黄打非办约谈网易云、B站等多家网站 2018-12-10
  • 答疑课堂:天气预报为何有时不太准? 2018-12-09
  • 【光明网专论】鞠立新:习近平新时代中国特色社会主义经济思想的内涵、逻辑和特质 2018-12-09
  • 简氏:中国暗剑无人机再曝光 或是超音速空优战机 2018-12-09
  • 【图解】青岛峰会:上合组织三大支柱取得这些新成果 2018-12-08
  • 平昌冬奥会冠军武大靖低调回家乡利辛探亲祭祖 2018-12-08
  • 滨州市质监局原党组书记、局长高树先被双开 2018-12-08
  • 天津开发区:运用大数据全面提升社会治理水平 2018-12-07
  • 西部网(陕西新闻网)www.cnwest.com 2018-12-07
  • 【波士通达奔驰车型报价】波士通达奔驰4S店车型价格 2018-12-07
  • 新疆普通高考评卷工作有序进行 2018-12-07
  • 日本佳子公主留学后回国 被称日本皇室"最美公主" 2018-12-06
  • 全球智慧城市博览会 展现“中国解决方案” 2018-12-06
  • 学区房 何日才能不疯狂(民生调查) 2018-12-06
  • 840| 989| 365| 313| 864| 18| 588| 721| 527| 734|