例如定义一个函数:
function [] = wiiii(filename)
load (filename,'x');
x.name='kong';
save filename x;
end
主函数:
x.name='wang';
x.age=24;
save 'matttt.mat' x;
bhh='matttt.mat';
wiiii(bhh);
disp(x.name);
结果是显示的x.name还是'wang'
应该如何通过函数改变结构体里面的内容呢?
例如定义一个函数:
function [] = wiiii(filename)
load (filename,'x');
x.name='kong';
save filename x;
end
主函数:
x.name='wang';
x.age=24;
save 'matttt.mat' x;
bhh='matttt.mat';
wiiii(bhh);
disp(x.name);
结果是显示的x.name还是'wang'
应该如何通过函数改变结构体里面的内容呢?
你现在有两个x,wiii那个函数作用区域的x已经变了,主函数部分还是原来的x,是因为你只传了形参到wiii,因此你可以尝试传实参(设置全局变量)或者把x再传回来,以下提供把x传回来的写法:
function x=wiiii(filename)
load (filename,'x');
x.name='kong';
save filename x;
end
x.name='wang';
x.age=24;
save 'matttt.mat' x;
bhh='matttt.mat';
x=wiiii(bhh);
disp(x.name)