MATLAB 程序运行一直说我未定义变量

weixin_42140190 2018-07-19 04:25:29
function x=sr(a,b,h,x1)
x=zeros(1,length(x1));
for i=1:length(x1)-1
k1=h*(a*x(i)-b*x(i).^3+x1(i));
k2=h*(a*(x(i)+k1/2)-b*(x(i)+k1/2).^3+x1(i));
k3=h*(a*(x(i)+k2/2)-b*(x(i)+k2/2).^3+x1(i+1));
k4=h*(a*(x(i)+k3)-b*(x(i)+k3).^3+x1(i+1));
x(i+1)=x(i)+(1/6)*(k1+2*k2+2*k3+k4);
end
结果运行时出现:
>> sr(a, b, h, x1)
未定义函数或变量 'a'。
请问这个怎么修改?
...全文
1548 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
昕盺 2019-03-19
  • 打赏
  • 举报
回复
k3=h*(a*(x(i)+k2/2)-b*(x(i)+k2/2).^3+x1(i+1));这一句为什么是x1(i+1)呢?
DAVIED9 2018-08-09
  • 打赏
  • 举报
回复
调用这个之前,需要先定义 a, b, h , x1 的值,
试试这样
a = 0.1;
b = 0.1;
h = 0.1;
x1 = rand(100,1);
sr(a, b, h, x1)
zhang_csdn 2018-07-31
  • 打赏
  • 举报
回复
你建立了一个函数,只需要保存就好,就可以直接调用了,像使用平常的函数一样。具体请参考https://jingyan.baidu.com/article/90bc8fc80012fef653640c0e.html
qq_34168425 2018-07-27
  • 打赏
  • 举报
回复
感谢分享!!
  • 打赏
  • 举报
回复
你确实没给a是多少啊
静谧的小码农 2018-07-19
  • 打赏
  • 举报
回复
你好,不好意思我没学过matlab,无法能帮到你,请谅解
不过你这个算法好像网上一摸一样的有好多,你可以看看
李庆海 2018-07-19
  • 打赏
  • 举报
回复
你好,不好意思我没学过matlab,无法能帮到你,请谅解

3,423

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 其他开发语言
社区管理员
  • 其他开发语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧