标题:[求助]从一个例子讨论全局变量的调用-
只看楼主
lijunjiexmu
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2006-9-22
 问题点数:0 回复次数:1 
[求助]从一个例子讨论全局变量的调用-

M文件:
function xprime=test(a,t,x)
global a
xprime=a*cos(t)/(2*x-2);
当前窗口:
>> a=3;
>> [t,x]=ode45('test',[0,2*pi],3)
Warning: The value of local variables may have been changed to match the
globals. Future versions of MATLAB will require that you declare
a variable to be global before you use that variable.
> In C:\MATLAB6p5\work\test.m at line 2
In C:\MATLAB6p5\toolbox\matlab\funfun\private\odearguments.m at line 104
In C:\MATLAB6p5\toolbox\matlab\funfun\ode45.m at line 155
??? Error using ==> /
Matrix dimensions must agree.

Error in ==> C:\MATLAB6p5\work\test.m
On line 3 ==> xprime=a*cos(t)/(2*x-2);
Error in ==> C:\MATLAB6p5\toolbox\matlab\funfun\private\odearguments.m
On line 104 ==> f0 = feval(ode,t0,y0,args{:});

Error in ==> C:\MATLAB6p5\toolbox\matlab\funfun\ode45.m
On line 155 ==> [neq, tspan, ntspan, next, t0, tfinal, tdir, y0, f0, args, ...

我的想法,是定义一个全局变量a,然后在每次调用m文件即函数test时,可以取不同的值a,然后调用ode45来解,当然如果
只取少量的不同的a值,那可以多写几个m文件,问题是如果需要很多个不同的a值,然后继续调用solver ode45来解函数test呢??希望大家能提点意见,谢谢!!

搜索更多相关主题的帖子: 变量 全局 例子 MATLAB variable 
2006-09-24 11:58
lijunjiexmu
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2006-9-22
得分:0 

错了,重发一遍:

M文件:
function xprime=test(t,x)

global b
xprime=zeros(2,1);

xprime(1)=cos(t)*(2*x(1)-2);
xprime(2)=b*sin(t)*x(2)+x(1);


命令窗口:
>> clear
>> a=2;b=3;
>> [t,x]=ode45('test',[4,5],[2;4])
??? In an assignment A(I) = B, the number of elements in B and
I must be the same.

Error in ==> C:\MATLAB6p5\work\test.m
On line 7 ==> xprime(2)=b*sin(t)*x(2)+x(1);
Error in ==> C:\MATLAB6p5\toolbox\matlab\funfun\private\odearguments.m
On line 104 ==> f0 = feval(ode,t0,y0,args{:});

Error in ==> C:\MATLAB6p5\toolbox\matlab\funfun\ode45.m
On line 155 ==> [neq, tspan, ntspan, next, t0, tfinal, tdir, y0, f0, args, ...

>>
我的想法,是定义一个全局变量a,然后在每次调用m文件即函数test时,可以取不同的值a,然后调用ode45来解,当然如果
只取少量的不同的a值,那可以多写几个m文件,问题是如果需要很多个不同的a值,然后继续调用solver ode45来解函数test呢??如果定义多个参数a,那又如何呢??希望大家能提点意见,谢谢!!

2006-09-24 17:11



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-92593-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.077118 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved