Я пишу скрипт для расчета геометрии рулевого управления Акермана автомобиля.
Ввод: T
- линейный набор чисел
Вывод: a
использует T
для вычисления некоторых чисел , которые я могу построить .
В моем выводе есть несколько других функций, которые также содержат T
в качестве ввода.
Как мне сделать , чтобы мой конечный результат был того же размера , что и мой ввод?
Я пытался извлечь все внутренние функции и заменить их на их уравнения, но у меня все еще была та же ошибка.
fprintf("\nGraph 1");
W = input("\nEnter your W: ");
T = linspace(0.5, 2.2, .01);
Tp = input("Enter your Tp: ");
R0 = 6.1 - T/2;
figure(1);
plot(find_a(W, R0, T, Tp), T, 'LineStyle', '-', 'Color', 'k', 'LineWidth', 2.0);
title('Plot of a vs T with R0');
xlabel('T');
ylabel('a');
grid on;
function x = find_a(W, R, T, Tp)
% Description: Finds linkage length
s_i = sin(phi_o(W, Tp) + delta_i(W, R, T));
x = (delta_i(W, R, T) * phi_o(W, Tp))/ tan(s_i);
end
function x = phi_o(W, Tp)
% Description: Calculates steering knuckles extension angles
x = atan((Tp/2)/W);
end
function x = delta_i(W, R, T)
% Description: Calculates inner turning angle
x = atan(W./(R - T/2));
end
Я ожидаю, что получу график a
против T
, но вместо этого получу ошибку:
Ошибка при использовании графика
Векторы должны быть одинаковой длины.
Ошибка в Solar_Car_Wheel_Calc (строка 39)
plot (find_a (W, R0, T, Tp), T, 'LineStyle', '-', 'Color', 'k', 'LineWidth', 2.0);