可以把函数中的;去掉来显示,或者用disp()来显示变量的值
也可以把函数文件改成脚本文件执行,脚本文件运行时变量会在工作空间显示,便于查看。
你只是一个变量的话,在子程序中用global X,在主程序中同样也要加上global X,这样用Ode45就这接可以调用这个变量求解,还不懂就补充明白,把你想要完成的功能说的清楚些。
function [a b c]=am()
global a b c
a=10;b=20 ;c=30;
x=[1 2 3];y=[a b c];
plot(x,y,'g-')
function bm()
clear;clc
[a b c]=am()
y=2a+3b+4c
和大多数编程语言一样,差别主要体现在两个方面:作用域和生存周期。其中,变量的作用域事实上是变量名字的性质,而变量的生存周期是变量本身是性质。
1、作用域
作用域是变量语法方面的性质,是指程序中的特定区域,在这些区域中,该变量的名字是有意义的并且变量是“可见的”。所谓的“局部变量”、“全局变量”其实就是针对作用域而言的:局部变量只能在某个函数中可以访问,而全局变量则在程序的任何一个地方都能引用。
对于MATALAB而言,全局变量在整个MATLAB进程中可用(包括各函数工作区以及基本工作区),但在使用之前,必需用global声明——注意:在每一个引用该全局变量的函数或基本工作区都需要先进行声明才能够使用。
2、生命周期
变量的生存周期是变量在运行时的性质,它表示变量在程序运行过程中具有实际意义的值的时间范围。变量的生存周期会受变量名字的作用域的影响:在进入作用域时,局部变量通常开始它的生命周期;离开作用域时,局部变量往往结束了它的生命周期(之所以说“通常”,是因为有类似于C语言中静态变量的那类局部变量,MATLAB中是persistent)。而全局变量除非人为清除,将会在一个session中始终存在。
在MATLAB中,要清除全局变量,需要用clear global var_name或者clear all,如果只是clear var_name,只是让全局变量在当前工作区中不可见,并不能真正清除该变量。
以上就是关于matlab中的function,和主程序写在一起。怎么查看变量的值。全部的内容,包括:matlab中的function,和主程序写在一起。怎么查看变量的值。、用Matlab调用ODE45,其子程序中有一个和时间无关的变量,现在如何把不同时刻的该变量值返回到主程序中、MATLAB,函数文件与脚本文件的变量能互相使用吗等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)