how to write a formula in matlab including different variation

18 ビュー (過去 30 日間)
moji abb
moji abb 2019 年 10 月 6 日
コメント済み: Star Strider 2019 年 10 月 15 日
hey guys im new in matlab i try to write a fourmula with some variation in matlab but as i said im so new here. could you please help me with
A= EXP^ (PI/3)* R/X
THATS A PART OF FORMULA here r has difrent value

採用された回答

Star Strider
Star Strider 2019 年 10 月 6 日
First:
A = exp(pi/3)*r./x; % Statement
A = @(r) exp(pi/3)*r./x; % Anonymous Function
  3 件のコメント
Star Strider
Star Strider 2019 年 10 月 6 日
As always, my pleasure.
I am not certain what you are asking. Taking a guess:
Out = -R.*V.*(1+A(R)).^2)./(3*X.^2)
You left out several operators that I assume are implicit multiplication, so I used the vectorised multiplication operator (.*), and vectorised the rest of that expression as well (.^, ./).
Note that:
V(1+A)
will otherwise be interpreted as the (1+A) element of the V vector, and that will only work if A(R) returns an integer value >=0.
moji abb
moji abb 2019 年 10 月 6 日
please take a look on attached file im not sure if i wrote it right

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

その他の回答 (5 件)

moji abb
moji abb 2019 年 10 月 6 日
1.jpeg
  13 件のコメント
moji abb
moji abb 2019 年 10 月 8 日
I appreciate your efforts
Star Strider
Star Strider 2019 年 10 月 8 日
Again, my pleasure.
Please code the equation, and post the code back here. It would be helpful if you also include the values of the variables.

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


moji abb
moji abb 2019 年 10 月 10 日
LET ME write down value probablye gonna be more clear,
%%% ====== input values =========
U = 12;
% R = 2; % change from R=0,1,2,3
L =2200e-6; % change from 0.0022 to 0.0045 in mH
frequency = 400; % in Hz, maybe 50Hz.
fi = pi/3;
Er = 8;
ksi = 0.1;
X = 2*pi*frequency*L;
r = [];
y = [];
for R=0:0.1:3
r=[r,R];
a = exp((R/X)*(pi/3));
k = R/X;
alfa = atan(X/R);
alfa1 = alfa*0.017;
output = -R*U*(1+a)^2*exp(-k*(fi-pi/3))/(3*X^2*(1+a^3))+Er*sin(fi-ksi-alfa1)/sqrt(R^2+X^2);
y=[y, output];
end
plot (r, y)
legend('Output')
xlabel('R'), ylabel('output')
title('gragh R_output')
but results is not same as i calculate on mathcad im confused here value alfa , fi and teta , it should be in radian or angle
  2 件のコメント
moji abb
moji abb 2019 年 10 月 10 日
i learn how to right R with difrent variation but there is other value X with 3 difrent value X = 2.2 mh to x2=2.9 and x3=3.8 . for R i used loop but for x im not sure what to do
Star Strider
Star Strider 2019 年 10 月 10 日
I made a few small changes to get your code to run with different values of ‘X’ as well as different values of ‘R’. This involves adding a loop and changing some of the indexing.
Your code is otherwise essentially unchanged:
%%% ====== input values =========
U = 12;
% R = 2; % change from R=0,1,2,3
L = [2200e-6; 2.9e-3; 3.8e-3]; % change from 0.0022 to 0.0045 in mH
frequency = 400; % in Hz, maybe 50Hz.
fi = pi/3;
Er = 8;
ksi = 0.1;
Xv = 2*pi*frequency*L; % ‘X’ is now vector ‘Xv’
r = [];
y = [];
Rv = 0:0.1:3; % ‘R’ is now vector ‘Rv’
figure
hold all
for k1 = 1:numel(Xv)
X = Xv(k1); % ‘X’ is an element of ‘Xv’ in each loop iteration
for k2 = 1:numel(Rv)
R = Rv(k2);
r(k1,k2) = R;
a = exp((R/X)*(pi/3));
k = R/X;
alfa = atan(X/R);
alfa1 = alfa*0.017;
output = -R*U*(1+a)^2*exp(-k*(fi-pi/3))/(3*X^2*(1+a^3))+Er*sin(fi-ksi-alfa1)/sqrt(R^2+X^2);
y(k1,k2) = output;
end
plot (r(k1,:), y(k1,:))
OutpLeg{k1} = sprintf('Output L = %.1f mH', L(k1)*1000);
end
hold off
legend(OutpLeg)
xlabel('R'), ylabel('output')
title('gragh R\_output')
Experiment to get the result you want.

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


moji abb
moji abb 2019 年 10 月 10 日
just great !! im so happy to learn something that seems so hard for me thank you ;)

moji abb
moji abb 2019 年 10 月 10 日
the only thing i would love to know is a 3D model of same equation with " output" R" X" AND FI"
  7 件のコメント
moji abb
moji abb 2019 年 10 月 15 日
sorry for my bad explanation . I try again with attached file in this comment please take a look, in previous code that you help me with we have an eq with 2 variation R & L what I need now is the same cood same number and same out put but x axis I want change from R to L . IT MEAN X AXIS SHOULD BE different variation 2.2 mh . 2.9mh . 3.8 and 3 colorful plot comes with different R VALUE . I hope I could transfer my thought
Star Strider
Star Strider 2019 年 10 月 15 日
I am having a very difficult time understanding what you want to do.
Apparently, you need to re-arrange your equations for your dependent variable as a function of ‘L’ as the independent variable. The easiest way to do this is to use the Symbolic Math Toolbox.
I cannot do that for you because I do not understand your equations or what you want to do with them.

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


moji abb
moji abb 2019 年 10 月 11 日
could you check where im doing mistake as u said i coe new value k3 but
%%% ====== input values =========
U = 12;
% R = 2; % change from R=0,1,2,3
L = [2200e-6; 2.9e-3; 3.8e-3]; % change from 0.0022 to 0.0045 in mH
frequency = 400; % in Hz, maybe 50Hz.
F = pi/3;
Fv = 0:0.1:0.3;
Er = 8;
ksi = 0.1;
Xv = 2*pi*frequency*L; % ‘X’ is now vector ‘Xv’
r = [];
y = [];
z = [];
Rv = 0:0.1:3; % ‘R’ is now vector ‘Rv’
figure
hold all
for k1 = 1:numel(Xv)
X = Xv(k1); % ‘X’ is an element of ‘Xv’ in each loop iteration
for k2 = l:numel(Rv)
R = Rv(k2);
for k3 = 1:numel(Fv)
F = fV(k3);
r(k1,k2,k3) = R;
a = exp((R/X)*(pi/3));
k = R/X;
alfa = atan(X/R);
alfa1 = alfa*0.017;
output = -R*U*(1+a)^2*exp(-k*(fi-pi/3))/(3*X^2*(1+a^3))+Er*sin(fi-ksi-alfa1)/sqrt(R^2+X^2);
y(k1,k2,k3) = output;
end
plot (r(k1,:), y(k1,:), z(k3,:))
OutpLeg{k1} = sprintf('Output L = %.1f mH', L(k1)*1000);
end
hold off
legend(OutpLeg)
xlabel('R'), ylabel('output')
title('gragh R\_output')

カテゴリ

Help Center および File ExchangeSymbolic Math Toolbox についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by