I keep getting input error

%r is r1 33 r2 47 = 80
% xl1 is 60 ohms xl 2 is 30 = 90
%z = sqrt(r^2 + xl^2)
%theta = atan2d(xl/r)
%ohms law i = v / z
v = input('volts:');
r = input ('resistance:');
i = current;
xl = input ('impedance:');
theta = atan2d (xl/r);
z = sqrt(r^2 + xl^2);
i = v / z;
disp ([' current is ' num2str(i) ' impedance is ' num2str(xl)']);

回答(1 个)

KSSV
KSSV 2020-9-26
编辑:KSSV 2020-9-26
You have to use Ohm's law instead of the unknown variable current.
Use fprintf instead disp.
%r is r1 33 r2 47 = 80
% xl1 is 60 ohms xl 2 is 30 = 90
%z = sqrt(r^2 + xl^2)
%theta = atan2d(xl/r)
%ohms law i = v / z
v = input('volts:');
r = input ('resistance:');
i = v/r ;
xl = input ('impedance:');
theta = atan(xl/r);
z = sqrt(r^2 + xl^2);
i = v / z;
fprintf ('current is: %f, impedance is %f\n', i,xl);

3 个评论

I got rid of the i = current
I'll try that f print function
i use atan2d since its in degrees.
correct me if i'm wrong in any of this.
I ended up doing this:
%volts is 120V
%r is r1 33 r2 47 = 80
% xl1 is 60 ohms xl 2 is 30 = 90
%z = sqrt(r^2 + xl^2)
%theta = atan2d(xl/r)
%ohms law i = v / z
v = input('volts:');
r = input ('resistance:');
xl = input ('impedance:');
theta = atan2d (xl,r);
z = sqrt(r^2 + xl^2);
i = v / z;
disp ([' current is ' num2str(i) ' amps' ' impedance is ' num2str(z) ' deg ' num2str(theta)]);
Read about atand.
Already did. thanks

请先登录,再进行评论。

类别

产品

Community Treasure Hunt

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

Start Hunting!

Translated by