Я пытаюсь построить следующее уравнение в MATLAB:Построение 3D-график `SQRT (1 + 1/(кг)^2)`
ratio = sqrt(1+1/(kr)^2)
С к и р о х и y и отношение по оси z. Я использовал meshgrid создать матрицу значений х и у, изменяющихся от 1 до 10:
[x,y] = meshgrid([1:1:10],[1:1:10]);
Теперь задача заключается в создании ценности для г. Я пытался просто ввести все уравнение, но дает этот результат:
>> Z = sqrt(1+1/(x .* y)^2)???
Error using ==> mldivide
Matrix dimensions must agree.
Так что я сделал это пойти через весь процесс вручную, который производит правильный график в конце:
z = z^2;
z = 1 ./ z;
z = 1 + z;
z = sqrt(z);
mesh(x,y,z)
Есть ли более элегантный способ сделать это? Или способ ввести уравнение и позволить MATLAB справиться с остальными?
Вот оно! Спасибо! Я не думал о том, чтобы сделать все компоненты операций мудрыми ... – jodles
@jodles youre welcome. Пожалуйста, подумайте о том, чтобы принять ответ, если он вам помог. –
Я согласен, это просто Stackexchange не позволит мне принять до 11 минут или около того ... – jodles