I keep getting this error Error using sym/subsindex Invalid indexing or function definition. Indexing must follow MATLAB indexing. Function arguments must be symbolic variable
2 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
t = linspace(-5,5,1000);
f = heaviside(t+1) - heaviside(t-1);
h = f;
% Define tau and compute h(t-tau)
tau = 0.5;
htau = heaviside(t-tau+1) - heaviside(t-tau-1);
% Compute the product f(tau) * h(t-tau)
prod = f .* htau;
% Plot the functions and their product
figure;
plot(t,f,'LineWidth',2);
hold on;
plot(t,htau,'LineWidth',2);
plot(t,prod,'LineWidth',2);
xlabel('t');
ylabel('Amplitude');
title('Convolution Integral Visualization');
legend('f(\tau)', 'h(t-\tau)', 'f(\tau) * h(t-\tau)');
% Define f(t) and h(t)
t = linspace(-5,5,1000);
f = heaviside(t+1) - heaviside(t-1);
h = f;
% Define tau and compute h(t-tau)
tau = 0.5;
htau = heaviside(t-tau+1) - heaviside(t-tau-1);
% Evaluate the convolution integral symbolically
syms tau1;
y = int(f(tau1)*h(t-tau1),tau1,-inf,+inf);
% Evaluate the convolution integral numerically
y_num = conv(f,htau)*(t(2)-t(1));
% Evaluate y for t=0.5
t_index = find(t==0.5);
y_t = y_num(t_index);
% Display the results
disp(['Symbolic result: y(t) = ', char(y)]);
disp(['Numerical result: y(0.5) = ', num2str(y_t)]);
0 Commenti
Risposte (1)
Cris LaPierre
il 29 Apr 2023
Modificato: Cris LaPierre
il 29 Apr 2023
f and h are not funtions. They are vectors. Not sure exactly what you are intending your code to do, but you cannot index a vector with a symbolic variable
syms b
a = 1:5;
a(b)
0 Commenti
Vedere anche
Categorie
Scopri di più su Signal Processing Toolbox 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!
