24小时热门版块排行榜    

查看: 950  |  回复: 7

hetaohehetao

新虫 (初入文坛)

[求助] Not enough input arguments.老是出现这个?怎么办 已有4人参与

function[sys,x0,str,ts]=switchtable(t,x,u,flag,E)
if abs(flag)==3
    Ktable=[7,7,0,7,0,0;5,3,1,6,4,2;0,0,7,0,7,7;1,2,3,4,5,6];
    Ksa=[0,0,0,0,1,1,1,1];
    Ksb=[0,0,1,1,0,0,1,1];
    Ksc=[0,1,0,1,0,1,0,1];
    X=2*u(2)+u(3)+1;
    Y=u(1);
    %Us=Ktable(X,Y);
    Kus=Ktable(X,Y)+1;
    Sa=Ksa(Kus);Sb=Ksb(Kus);Sc=Ksc(Kus);
    sys(1)=(2*Sa-Sb-Sc)*E*2/3;
    sys(2)=(Sb-Sc)*E*2/sqrt(3);
elseif flag==0
    sys=[0;0;2;3;0;0];
    x0=[];
else sys=[];
end
这是程序,运行就会出现错,提示Not enough input arguments. 求帮忙解决,急急急!!!
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

mygt_hit

专家顾问 (职业作家)

【答案】应助回帖

感谢参与,应助指数 +1
调用函数switchtable时输入的参数不够吧。
知其然,知其所以然。
2楼2015-12-28 13:15:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hetaohehetao

新虫 (初入文坛)

应该怎么解决呢?求指教
3楼2015-12-28 18:56:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Op_liu

木虫 (正式写手)

【答案】应助回帖

感谢参与,应助指数 +1
你这写的是一个子函数,不能直接运行,你调用它时你要给初始参数t,x,u,flag,E具体的值,才能运行。
错误那句话,意思就是你没用赋值初始值,没有足够的输入,所以错误。

发自小木虫Android客户端
4楼2015-12-28 19:41:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

fenghuo1992

铜虫 (小有名气)

【答案】应助回帖

感谢参与,应助指数 +1
程序函数不能直接运行

正确的运行方式楼上已给出。
输入相应的t x u flag E数据之后
再按照  [sys,x0,str,ts]=switchtable(t,x,u,flag,E)  格式调用
5楼2015-12-28 21:14:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
祝福
6楼2015-12-29 09:44:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hetaohehetao

新虫 (初入文坛)

初始参数怎么赋值呀,我在命令窗口赋值之后运行还是不行呢

发自小木虫Android客户端
7楼2015-12-29 11:20:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sxlch

银虫 (正式写手)

【答案】应助回帖

我的经验是直接在去掉function行,每一个变量赋值,显示运行结果,检查是不是和预期值相同。在回过头看程序。
为中国之崛起而读书
8楼2015-12-31 18:26:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 hetaohehetao 的主题更新
信息提示
请填处理意见