我定义的函数:
function function_fun();
A=input('请输入状态矩阵A:');
B=input('请输入状态矩阵B:');
C=input('请输入状态矩阵C:');
D=input('请输入状态矩阵D:');
sys=ss(A,B,C,D);
运行后:
??? function function_fun();
|
Error: Function definitions are not permitted at the prompt or in scripts.
这是为什么呢?我定义的函数一直是这样,请高手给解答一下
关于matlab定义函数
答案:3 悬赏:30 手机版
解决时间 2021-03-02 11:30
- 提问者网友:抽煙菂渘情少年
- 2021-03-01 18:42
最佳答案
- 五星知识达人网友:舊物识亽
- 2021-03-01 19:18
你把上面式子存到M-file里,不过A=。。。这一行最后的分号应该是英文字符下的,运行就可以得到结果了:
请输入状态矩阵A:[1 2 ;0 1]
请输入状态矩阵B:[1;3]
请输入状态矩阵C:[1 0]
请输入状态矩阵D:[0]
a =
x1 x2
x1 1 2
x2 0 1
b =
u1
x1 1
x2 3
c =
x1 x2
y1 1 0
d =
u1
y1 0
Continuous-time model.
请输入状态矩阵A:[1 2 ;0 1]
请输入状态矩阵B:[1;3]
请输入状态矩阵C:[1 0]
请输入状态矩阵D:[0]
a =
x1 x2
x1 1 2
x2 0 1
b =
u1
x1 1
x2 3
c =
x1 x2
y1 1 0
d =
u1
y1 0
Continuous-time model.
全部回答
- 1楼网友:慢性怪人
- 2021-03-01 21:22
不要直接运行,保存起来调用。你这个函数没有输入,那你干脆不要弄成函数的形式就可以了,把function function_fun()去掉
- 2楼网友:由着我着迷
- 2021-03-01 20:42
在matlab里面函数文件是不能直接运行的,要在能运行的脚本文件里调用这个函数才能运行,而且如果你的函数的结果是输出m和n,那应该这样定义
function [m,n]=home8(a,b,f0,fn,x)
[m,n]=size(a);
end
然后在脚本文件里,设置好a,b,f0,fn,x的值后调用函数
[m,n]=home8(a,b,f0,fn,x)
这样得出的mn就是a的size
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯