Question: please fix and solve the issue my matlab code project : % Mike _ id _ Project _ main.m : I dont not have to

please fix and solve the issue my matlab code project : %Mike_id_Project_main.m : I dont not have to use structures, and it does not allow 3 separate assignments on the "trials" variable.
You can just create 3 different variable arrays for m, k, and c, and call m(i), k(i), and c(i) during each trial run.
For the animation part, please remember that since the framerate is 30 while dt is 1/300, that would mean 1 frame every 10 iterations.
Therefore, on line 142, the for loop should state a manual stepsize of 10. : % MataJocelyn_900585559_Project_main.m clear; close all; clc; % Trial Parameters trials =[... struct('mass',3,'k',200,'c',2); struct('mass',4,'k',50,'c',45); struct('mass',5,'k',125,'c',50)]; % Simulation Parameters t0=0; % Initial time tf =10; % Final time dt =1/300; % Time step fps =30; % Frames per second x0=1; % Initial position v0=0; % Initial velocity a0=2.5; % Forcing amplitude % Iterate through trials for trial =1:length(trials)% Extract trial parameters m = trials(trial).mass; k = trials(trial).k; c = trials(trial).c; % Time array t = t0:dt:tf; % Preallocate arrays for position and velocity x_homogeneous_euler = zeros(size(t)); v_homogeneous_euler = zeros(size(t)); x_inhomogeneous_euler = zeros(size(t)); v_inhomogeneous_euler = zeros(size(t)); x_homogeneous_rk = zeros(size(t)); v_homogeneous_rk = zeros(size(t)); x_inhomogeneous_rk = zeros(size(t)); v_inhomogeneous_rk = zeros(size(t)); % Set initial conditions x_homogeneous_euler(1)=0; v_homogeneous_euler(1)= v0; x_inhomogeneous_euler(1)= x0; v_inhomogeneous_euler(1)= v0; x_homogeneous_rk(1)= x0; v_homogeneous_rk(1)= v0; x_inhomogeneous_rk(1)= x0; v_inhomogeneous_rk(1)= v0; % Simulate for each time step for i =2:length(t)% Homogeneous (F(t)=0)[x_homogeneous_euler(i), v_homogeneous_euler(i)]= VibrationPosition(... x_homogeneous_euler(i-1), v_homogeneous_euler(i-1), m, k, c,0, dt,1); [x_homogeneous_rk(i), v_homogeneous_rk(i)]= VibrationPosition(... x_homogeneous_rk(i-1), v_homogeneous_rk(i-1), m, k, c,0, dt,2); % Inhomogeneous (F(t)= a0* sin(t/(2*pi))) f_inhom = a0* sin(t(i)/(2* pi)); [x_inhomogeneous_euler(i), v_inhomogeneous_euler(i)]= VibrationPosition(... x_inhomogeneous_euler(i-1), v_inhomogeneous_euler(i-1), m, k, c, f_inhom, dt,1); [x_inhomogeneous_rk(i), v_inhomogeneous_rk(i)]= VibrationPosition(... x_inhomogeneous_rk(i-1), v_inhomogeneous_rk(i-1), m, k, c, f_inhom, dt,2); end % Plotting results figure('Position',[100,100,1200,600]); % Euler Method Subplot subplot(1,2,1); plot(t, x_homogeneous_euler, 'b-', 'LineWidth', 1.5); title(['Trial ' num2str(trial)'- Homogeneous (Euler)']); xlabel('Time (s)'); ylabel('Position (m)'); grid on; subplot(1,2,2); plot(t, x_inhomogeneous_euler, 'r-', 'LineWidth', 1.5); title(['Trial ' num2str(trial)'- Inhomogeneous (Euler)']); xlabel('Time (s)'); ylabel('Position (m)'); grid on; % Save figure saveas(gcf,['Trial_' num2str(trial)'_Euler.fig']); close; % RK4 Method Subplot figure('Position',[100,100,1200,600]); subplot(1,2,1); plot(t, x_homogeneous_rk,'b-', 'LineWidth', 1.5); title(['Trial ' num2str(trial)'- Homogeneous (RK4)']); xlabel('Time (s)'); ylabel('Position (m)'); grid on; subplot(1,2,2); plot(t, x_inhomogeneous_rk,'r-', 'LineWidth', 1.5); title(['Trial ' num2str(trial)'- Inhomogeneous (RK4)']); xlabel('Time (s)'); ylabel('Position (m)'); grid on; % Save figure saveas(gcf,['Trial_' num2str(trial)'_RK4.fig']); close; % Animation Generation figure('Position',[100,100,1200,600]); % Homogeneous Response Animation subplot(1,2,1); h1= animatedline('Color','b', 'LineWidth', 2); title(['Trial ' num2str(trial)'- Homogeneous']); xlabel('Time (s)'); ylabel('Position (m)'); xlim([t0 tf]); ylim([min([x_homogeneous_euler, x_homogeneous_rk])-0.5, max([x_homogeneous_euler, x_homogeneous_rk])+0.5]); grid on; % Inhomogeneous Response Animation subplot(1,2,2); h2= animatedline('Color','r', 'LineWidth', 2); title(['Trial ' num2str(trial)'- Inhomogeneous']); xlabel('Time (s)'); ylabel('Position (m)'); xlim([t0 tf]); ylim([min([x_inhomogeneous_euler, x_inhomogeneous_rk])-0.5, max([x_inhomogeneous_euler, x_inhomogeneous_rk])+0.5]); grid on; % Create video writer v = VideoWriter(['Mike_id_video_' num2str(trial)], 'MPEG-

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!