2 views (last 30 days)

Show older comments

Hello,

I got two ".m" files, the first one is called "Ex_1" and the second one is called "Ex_2" as shown bellow. Output of Ex_1 must be the Input of Ex_2. How can I make function Ex_2 understand the values of a, b? Is there anyway to call variable a and b from Ex_1 in Ex_2? Thanks for your time, appreciate your help!

function [a,b]=Ex_1(dat) %dat is just a variable which I load in my program

x=log10(dat(:,1));

y=dat(:,2);

P=size(dat,1);

SSxy=sum(x.*y)-(sum(x)*sum(y)/P);

SSxx=sum(x.^2)-((sum(x))^2/P);

a=SSxy/SSxx

y_bar=sum(y)/P;

x_bar=sum(x)/P;

b=y_bar-a*x_bar

end

function [freq]=Ex_2(a,b,db) %a, b is the same a, b of function Ex_1. db value doesn't matter

freq=(db-b)/a;

end

drummer
on 25 Mar 2021

Did you do a third procedural script calling both of them?

You could do like this in your third script.m:

[a, b] = Ex_1(data);

%% % by doing this break, you can check if a and b were loaded into your workspace

% once they were loaded, you can now call your second script by

[freq] = Ex_2(a, b, db); % assuming you´re loading db variable mannualy.

This is not necessarily the only thing you could do. You could also type these lines in your command window.

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

Start Hunting!