[英]If Statement Matlab Function on Simulink
我正在嘗試制作自己的Matlab函數以在Simulink中使用,但是我沒有成功。 這是一個簡單的If語句,具有一個輸入和三個輸出值,它們全部都是整數,此處為代碼:
function [ PWM,INA,INB ] = VNH5019(in_Motor)
if in_Motor ==0
INA=0;
INB=0;
PWM=0;
elseif in_Motor>0
if in_Motor>255
in_motor=255;
end
INA=1;
INB=0;
PWM=in_Motor;
elseif in_Motor<0
if in_Motor<-255
in_motor=-255;
end
INA=0;
INB=1;
PWM=-in_Motor;
end
這里是錯誤:
Output argument 'PWM' is not assigned on some execution paths.
Function 'MATLAB Function' (#38.28.35), line 1, column 29:
"VNH5019"
嘗試在ifs之前將值賦給變量。 Simulink需要始終在這種類型的塊函數中定義值,在您看來,它們確實是,但編譯器認為它們不是。 因此,如果有的話,請為您的輸出分配一些價值。
它可能會工作。
您可能應該替換該行:
elseif in_Motor<0
與一個簡單的else
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.