Unable to create a exponential graph
4 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
I am trying to make a basic tyre degredation model and I am not able to get an increasing exponential graph. I have four input block representing vital variables reagrding tyre degredation. The current model is down below. The code inside the MATLAB function block is
function y = exp_temp(u)
2 % Exponential function for temperature degradation
3 a = 0.1; % adjust this value to fit the data
4 b = 0.02; % adjust this value to fit the data
5 y = a * exp(b * u);
6 end
The graph should look like something In the second picture. What am I doing wrong.
0 Commenti
Risposte (2)
Les Beckham
il 10 Set 2024
I guess I don't really see what the problem is. Follow your own comments and adjust a and b to match the expected curve.
Can you explain more clearly what the issue is?
u = 0:5;
y = exp_temp(u);
plot(u, y, 'o-')
grid on
function y = exp_temp(u)
% Exponential function for temperature degradation
a = 0.1; % adjust this value to fit the data
b = 0.2; % adjust this value to fit the data <<< I increased this by 10x
y = a * exp(b * u);
end
3 Commenti
VBBV
il 11 Set 2024
@Rohan, Use a closely space intervals for range of values, along with coefficient adjustment as mentioned by @Les Beckham
u = 0:0.001:5;% use a closely spaced intervals for the range of values
y = exp_temp(u);
plot(u, y)
grid on
function y = exp_temp(u)
% Exponential function for temperature degradation
a = 0.1; % adjust this value to fit the data
b = 1; % adjust this value to fit the data <<< I increased this by 10x
y = a * exp(b * u);
end
Sam Chak
il 11 Set 2024
Hi Rohan,
The solution for the differential equation of
dx/dt = k·x, with initial value x(0)
is given by
x(t) = x(0)·exp(k·t),
where k·x is a straight line.
From the response of the Integrator in the Scope in the image "Screenshot 2024-09-10 143401.png", you were simulating a dynamic system in Simulink. Best to share the Simulink slx file for evaluation.
Image Analyst
il 10 Set 2024
I don't know how to do it in Simulink, but this seems to work fine in MATLAB:
uTemperatureRange = linspace(10, 200, 1000);
yDegradation = exp_temp(uTemperatureRange);
plot(uTemperatureRange, yDegradation, 'b-', 'LineWidth', 2);
xlabel('Temperature');
ylabel('Degradation');
title('Degradation vs. Temperature');
grid on;
ylim([0,6])
%==========================================================
function y = exp_temp(u)
% Exponential function for temperature degradation
a = 0.1; % adjust this value to fit the data
b = 0.02; % adjust this value to fit the data
y = a * exp(b * u);
end
It looks (and is) exponential.
0 Commenti
Vedere anche
Categorie
Scopri di più su String in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!