matlab中如何让循环中的某一句只执行一次?或如何对一个变量初始化一次?
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/04/28 12:05:15
matlab中如何让循环中的某一句只执行一次?或如何对一个变量初始化一次?
我在matlab中使用ode45解微分方程function1,而function1中有一个时变参数,编写为function2,function2中有一个句 a=a+b; 但之前没有对a初始化,matlab就提示 “the variable 'a' might be used before it is defined ”.如果开头初始化a=0,那么每次迭代时,a都会被重置到0.应该怎么让a只在第一次初始化,后面就不再次执行a=0这句?
解决了,用全局变量global,原来我用的global只在主文件中定义了一次,没在function文件中声明,所以没传过去.正确的做法是在所用到的文件中都加上 “ global a;” 这一句.
我在matlab中使用ode45解微分方程function1,而function1中有一个时变参数,编写为function2,function2中有一个句 a=a+b; 但之前没有对a初始化,matlab就提示 “the variable 'a' might be used before it is defined ”.如果开头初始化a=0,那么每次迭代时,a都会被重置到0.应该怎么让a只在第一次初始化,后面就不再次执行a=0这句?
解决了,用全局变量global,原来我用的global只在主文件中定义了一次,没在function文件中声明,所以没传过去.正确的做法是在所用到的文件中都加上 “ global a;” 这一句.
自然是将初始化写在循环之前了.
在你这个里就是将a=0写在第一次调用function2之前了
再问: 不行啊,我的function1和function2都是编写的m文件,循环是由主函数m文件中的ode45函数自己产生的,也就是ode45让function1循环,function2也跟着循环了。如果a=0写在循环前,也就是要在ode45前,那就是在主函数m文件中。但我试过了,在主函数m文件定义的a,在function2中根本不起作用,传不过去。
在你这个里就是将a=0写在第一次调用function2之前了
再问: 不行啊,我的function1和function2都是编写的m文件,循环是由主函数m文件中的ode45函数自己产生的,也就是ode45让function1循环,function2也跟着循环了。如果a=0写在循环前,也就是要在ode45前,那就是在主函数m文件中。但我试过了,在主函数m文件定义的a,在function2中根本不起作用,传不过去。
matlab中如何让循环中的某一句只执行一次?或如何对一个变量初始化一次?
matlab中for循环i,j循环,i循环完一次后,初始化变量
matlab中如何只保留一个或两个变量的数据,其他变量数据全部清楚?
C#如何让一条语句在软件运行过程中只执行一次
matlab: 为什么我的程序中for循环只执行了一次? 谢谢
MATLAB如何每循环一次就建立一个矩阵?
在java中,定义一个字符串变量,当从键盘输入y或,继续循环或结束循环,如何要让这个变量只能输入y或者n,
matlab中函数有多个变量如何只对其中一个积分,并得到函数.
matlab如何让上一次循环得出的矩阵和本次得出的之间进行运算
matlab中for循环体中如何修改循环变量
matlab 如何将for每循环一次产生的矩阵合并成一个大矩阵
matlab如何将循环的信号存入循环的变量名a(i)中,不可覆盖.