登录论坛

查看完整版本 : [MATLAB基础] 全局变量global与input的一些问题


173fd122
2012-02-22, 17:14
求教各位,本人新手,有个问题困扰很久了希望能得到解答~不胜感激
function y = aa( x)
%UNTITLED3 Summary of this function goes here
% Detailed explanation goes here
global a b c;
y=a+b+c+x;

function y = bb( x )
%UNTITLED4 Summary of this function goes here
% Detailed explanation goes here
global a b c;
y=aa(x)+2*a+2*b+x;

clc
global a b c;
a=1;
b=2;
c=3;
x=5;
z=bb(x)
上述程序运行通过没有问题,我的问题是,我想要a b c不是定值,而是通过input命令来自己输入的话,就是报错,我改了如下命令(其他部分不变只是把a=1 b=2 c=3 改了):
a=input('输入a的值');
b=input('输入b的值');
c=input('输入c的值');
就不行了。。。
我想求助各位,我如何既能用到全局变量又能通过自己输入abc值来得到结果,还是global与input不能同时用呢。。。

yhcode
2012-02-23, 09:01
实际上针对你给的这个问题来说,根本用不上什么全局变量,直接把x,a,b,c做为输入变量就可以了,如:function y = aa(x,a,b,c) 在这个文件中同时定义function y=bb(x,a,b,c)就可以了

173fd122
2012-02-23, 15:46
你好~谢谢,我当时是想做一个测试global和input编的上述语句,因为我编的子函数中含有a=input(输入电流值),结果最后运行主程序的时候,会重复很多次的出现让我输入电流值,虽然最后结果是对的,但是明明输入一次就够了,为了解决这种问题我引入了global,可是问题还是解决不了。。。。