2014-10-31 3 views
0

Я не настолько силен в программировании. Я пытался построить два уравнения из Power Electronics в Matlab. Мой код выглядит следующим образом. Я получаю пустой сюжет, когда я рисую Btcr и альфу! Пожалуйста, дайте мне знать, что случилось.Matlab Программирование: построение кривой восприимчивости и угла стрельбы α

 Plotting Susceptance vs Firing Angle 

%Variables 
V = 1; 
L = 0.005; 
freq = 60; 
omega = 2 * pi * freq; 
theta = 0:0.01:360*2; 

for alpha = 90:10:180 
sigma = 2*(180 - alpha) 
Btcr = (sigma + sind(2*alpha))/(omega*L*3.14); 
end 
plot(Btcr, alpha); 

ответ

0

Ваш for -loop не нужен. Вы фактически перезаписываете предыдущие значения sigma и Btcr каждый раз, когда вы проходите цикл, поэтому в конце вы не имеете векторов данных, всего два числа. Вы можете исправить это, полностью удалив петлю:

alpha = 90:10:180 
sigma = 2*(180 - alpha) 
Btcr = (sigma + sind(2*alpha))/(omega*L*3.14); 
plot(Btcr, alpha); 
+0

Спасибо тонне Дэвиду! Я получаю график! Но есть ли способ сделать кривую гладкой? Теперь я получаю зубчатую линию. – Som

+0

@Som Это выглядит хорошо для меня, я получаю довольно хорошую прямую линию. Попробуйте построить маркеры, а не строку (используя «plot (Btcr, alpha, 'o')'), чтобы увидеть, не имеет ли зубчатость из данных или графика. – David

+0

Спасибо, Дэвид. Маркеры выглядели лучше, чем линия. :) – Som

Смежные вопросы