I am using one function that calls using two others. Here are the functions. I would like to use V as a set of numbers.
function mach_number=mach(V);mach_number=(V.*10.^3)./(sqrt(1.40.*287.*(temp_alt(alt_velo(V)))));endfunction alt=alt_velo(V);alt=((.0389*V.^5)-(.8115*V.^4)+(6.537*V.^3)-(25.45*V.^2)+(53.425*V)+3.8234)*(10.^3);end function T=temp_alt(h);if (h >= 25000) T=(-131.21+.00299.*h)+273.15;elseif (11000 < h) & (h < 25000); T=(-56.46+273.15);elseif (h <= 11000); T=(15.04-(.00649.*h))+273.15;endend
The function mach works when I enter mach(1:1:10) in the command window but when I do mach(.001:.001:1) I get the error below, I do not understand why. Please help.
>>mach(1:1:10)ans =Columns 1 through 5 3.12868748903117 5.86169984416974 8.53906953938449 11.0917563079045 13.5302732555593Columns 6 through 10 15.907404087981 18.006585285012 18.997273867173 17.9653322339638 15.3656938914863>> mach(.001:.001:1) Error in temp_alt (line 12)if (h >= 25000);Output argument "T" (and maybe others) not assigned during call to "temp_alt".Error in mach (line 12)mach_number=(V.*10.^3)./(sqrt(1.40.*287.*(temp_alt(alt_velo(V)))));
Best Answer