hi professoinals.....how to run this code

2 次查看(过去 30 天)
%Calculate the value of e and kp2
p=3
kpi=4
dp = 5
kp2=rand(10);
e=rand(10);
for i=1:1
j=1:5
r=e(j)*dp-kp1*kp2(i)*(p-1)
if r==1
q1=kp2(i)
q2=e(j)
break;
end
end
it doesnot show value of q1 and q2

采纳的回答

Image Analyst
Image Analyst 2013-4-13
That's because r is never 1. Assuming your kpi is really kp1, then your code outputs this:
p =
3
kp1 =
4
dp =
5
j =
1 2 3 4 5
r =
-2.2984647062648 -1.68125690365354 -2.35894629559188 -6.49583211445794 -3.95680751584107
As you can see, r is never 1 so this line
if r==1
is never true and you never get to the code that would display q1 and q2.

更多回答(2 个)

Florian
Florian 2013-4-13
Hi Neet,
I have absolutely no clue what your code is supposed to do, but there are a couple of syntax proplems with what you have copied. Here is a correction with indents and ";" to show the end of a line:
%if true
%Calculate the value of e and kp2
p = 3;
kp1 = 4;
dp = 5;
kp2 = rand(10);
e = rand(10);
for i = 1:1 % This loop is redundant
for j = 1:5
r = e(j) * dp - kp1 * kp2(i) * (p-1);
if r == 1
q1 = kp2(i);
q2 = e(j);
break;
end
end
end
%end
This code runs, BUT: 1) The loop for i is redundant 2) r will likely never be equal to 1 since kp2 and e are defined as random numbers Hence, you won't get any values for q1 and q1. You should probably check what this code is supposed to do.
Cheers, Florian

rjnt Kaur
rjnt Kaur 2013-4-14
Thanks Florian for your valueable time ...i want to satistisfy the equation e*dp-kp1*kp2*(p-1)=1....my code is not generating r=1..if r is equal to one then the value of e and kp2 is taken..can you suggest other method regarding this...thanking you

类别

Help CenterFile Exchange 中查找有关 MATLAB Coder 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by