Матлаб выдаёт ошибку

Рейтинг: -2Ответов: 2Опубликовано: 17.05.2023

Нужно построить график :

clc
clear
w=@(a)SQRT((9.8*(cos(a*pi/180)-0.1*sin(a*pi/180)))/(25*tan(a*pi/180)* 
(sin(a*pi/180)+0.1*cos(a*pi/180))))*60/(2*pi);
x=0:5:20;
y=w(x);
plot(x,y,'b'); 
hold on;
xlabel('a'); 
ylabel('w(a)'); 
grid on; 

Но выдаёт ошибку:

??? Undefined function or method 'SQRT' for input arguments
of type 'double'.

Error in ==>
@(a)SQRT((9.8.*(cos(a.*pi/180)-0.1.*sin(a.*pi/180)))/(25.*tan(a.*pi/180).* 
(sin(a.*pi/180)+0.1.*cos(a.*pi/180)))).*60/(2.*pi)


Error in ==> lb23 at 5
y=w(x);

Что делать подскажите пожалуйста

Ответы

▲ 0

Если формула переносится на другую строку, то в месте переноса нужно поставить многоточие (три точки) и писать другую часть формулы в следующей строке. В формуле перед знаками умножения и деления должна присутствовать точка для выполнения поэлементных операций, ведь вы с помощью формулы потом проводите операции с вектором значений, а не с одним значением.

▲ 0

Матлаб пишет, что не знает такую функцию или метод, как sqrt. Если требовалось взять квадратный корень, то проще возвести в степень 0.5, т.е. (выражение)^0.5