永发信息网

关于matlab定义函数

答案:3  悬赏:30  手机版
解决时间 2021-03-02 11:30
  • 提问者网友:抽煙菂渘情少年
  • 2021-03-01 18:42
我定义的函数:
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.
这是为什么呢?我定义的函数一直是这样,请高手给解答一下
最佳答案
  • 五星知识达人网友:舊物识亽
  • 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.
全部回答
  • 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
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯