call variables via evalin command into function

Hello I want to call some variable via 'evalin' into function. then I created z1 and z2 in workspace and save them into 'myfile8.mat'. then I created my function and named it 'ave1'. This is my function:
function[f]= ave1(z1,z2)
evalin('base','myfile8.mat');
load myfile8.mat
[n1,n2]=size(z1);
n3=n1*n2
[n4,n5]=size(z2);
n6=n4*n5
B=reshape(z1,n3,1);
C=reshape(z2,n6,1);
f=[B(:);C(:)]
end
when I ran 'ave1' in workspace I got this error:
Undefined variable "myfile8" or class "myfile8.mat".
Error in ==> ave1 at 2
evalin('base','myfile8.mat');
What is my problem and How can I solve it? Thanks

4 件のコメント

José-Luis
José-Luis 2014 年 6 月 25 日
Why do you want to do that? Maybe I am misunderstanding but it strikes my as unnecessary. Why not just pass the variables you need to the function and get rid of evalin() altogether?
fatema saba
fatema saba 2014 年 6 月 25 日
it is just an example. in my main problem I have a lot of big matrices as variables. I need to call them into variables via evalin.
José-Luis
José-Luis 2014 年 6 月 25 日
My comment is still valid, I think. You could pass them all in a structure for instance.
fatema saba
fatema saba 2014 年 6 月 25 日
Ok, How can I change my function please?

サインインしてコメントする。

回答 (0 件)

カテゴリ

質問済み:

2014 年 6 月 25 日

コメント済み:

2014 年 6 月 25 日

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by