Category: Matlab
Category Archives: Matlab
Function to trainNetwork returns an unexpected error
My code returns the following error for this function call – What is the fix for this?
net = trainNetwork(X_train, categorical(y_train), layers, options);
Error using trainNetwork (line 191)
Too many input arguments.
Error in LSTMGomz (line 63)
net = trainNetwork(X_train, categorical(y_train), layers, options);
Caused by:
Error using nnet.internal.cnn.trainNetwork.DLTInputParser>iParseInputArguments (line 75)
Too many input arguments.My code returns the following error for this function call – What is the fix for this?
net = trainNetwork(X_train, categorical(y_train), layers, options);
Error using trainNetwork (line 191)
Too many input arguments.
Error in LSTMGomz (line 63)
net = trainNetwork(X_train, categorical(y_train), layers, options);
Caused by:
Error using nnet.internal.cnn.trainNetwork.DLTInputParser>iParseInputArguments (line 75)
Too many input arguments. My code returns the following error for this function call – What is the fix for this?
net = trainNetwork(X_train, categorical(y_train), layers, options);
Error using trainNetwork (line 191)
Too many input arguments.
Error in LSTMGomz (line 63)
net = trainNetwork(X_train, categorical(y_train), layers, options);
Caused by:
Error using nnet.internal.cnn.trainNetwork.DLTInputParser>iParseInputArguments (line 75)
Too many input arguments. trainnetwork MATLAB Answers — New Questions
How to compute ERGODIC CHANNEL CAPACITY for 8 element mimo antenna
Nt = 5;
Nr = 5;
gammaBar = -10:2:30;
SNR = 10 .^(gammaBar/10);
H = sqrt(1/2) * (randn+1j*randn);
for idx = 1:1:length(SNR)
c(idx) = log2(det((eye(Nr))+((SNR(idx)/Nt)*abs(H)*(abs(H’)))));
end
plot(gammaBar,c)
xlabel(‘SNR in dB’);
ylabel(‘Ergodic Channel Capacity’);
Plot this frequency vs Channel CapacityNt = 5;
Nr = 5;
gammaBar = -10:2:30;
SNR = 10 .^(gammaBar/10);
H = sqrt(1/2) * (randn+1j*randn);
for idx = 1:1:length(SNR)
c(idx) = log2(det((eye(Nr))+((SNR(idx)/Nt)*abs(H)*(abs(H’)))));
end
plot(gammaBar,c)
xlabel(‘SNR in dB’);
ylabel(‘Ergodic Channel Capacity’);
Plot this frequency vs Channel Capacity Nt = 5;
Nr = 5;
gammaBar = -10:2:30;
SNR = 10 .^(gammaBar/10);
H = sqrt(1/2) * (randn+1j*randn);
for idx = 1:1:length(SNR)
c(idx) = log2(det((eye(Nr))+((SNR(idx)/Nt)*abs(H)*(abs(H’)))));
end
plot(gammaBar,c)
xlabel(‘SNR in dB’);
ylabel(‘Ergodic Channel Capacity’);
Plot this frequency vs Channel Capacity ergodic channel capacity, mimo antenna MATLAB Answers — New Questions
Matlab code to know the overshoot value of ryze tello
Hello, I have a question about ryze tello. The above site consists of a system that connects the ryze tello drone to the matlab, is hovered, moves to a square path, and then lands. I have three questions here. If the drone hovering to the designated height, I want to know the overshoot value (MP) value at that time. Second, I want to know visually how much it deviates from the designated path when moving the square path. Finally, I want to see more visually by marking the location where the drone is flying in a 3D space. If you know any of these 3 questions, please let me know. Have a nice day!Hello, I have a question about ryze tello. The above site consists of a system that connects the ryze tello drone to the matlab, is hovered, moves to a square path, and then lands. I have three questions here. If the drone hovering to the designated height, I want to know the overshoot value (MP) value at that time. Second, I want to know visually how much it deviates from the designated path when moving the square path. Finally, I want to see more visually by marking the location where the drone is flying in a 3D space. If you know any of these 3 questions, please let me know. Have a nice day! Hello, I have a question about ryze tello. The above site consists of a system that connects the ryze tello drone to the matlab, is hovered, moves to a square path, and then lands. I have three questions here. If the drone hovering to the designated height, I want to know the overshoot value (MP) value at that time. Second, I want to know visually how much it deviates from the designated path when moving the square path. Finally, I want to see more visually by marking the location where the drone is flying in a 3D space. If you know any of these 3 questions, please let me know. Have a nice day! ryze trello MATLAB Answers — New Questions
Connecting to ChatGPT using API
I tried connecting to Chat GPT with the following web instructions and get the error as reflected …
prompt = ‘What is the capital of France?’;
api_key = ‘sk-4Y8TmelxvsdfghfghhdT3BlbkFJepdojXzket1MmQpA9cov’;
url = ‘https://api.openai.com/v1/engines/davinci/completions’;
options = weboptions(‘KeyName’,’Authorization’,’KeyValue’,[‘Bearer ‘ api_key],’MediaType’,’application/json’);
data = webwrite(url,’prompt’,prompt,’max_tokens’,2048,’model’,’text-davinci-003′,’stop’,”,options);
answer = loadjson(data);
answer = answer.choices{1}.text;
disp(answer)
Does anyone know how to connect MATLAB to Chat GPT to send prompts and retrieve back the responses. Also how to send data over to fine tune the model and then to further prompt that model?
It would be good for Mathworks to double quick release a toolbox on FileExchange for this as Python already has an OpenAI library. Seems like Mathworks is always one step behind Python these days.
ThxI tried connecting to Chat GPT with the following web instructions and get the error as reflected …
prompt = ‘What is the capital of France?’;
api_key = ‘sk-4Y8TmelxvsdfghfghhdT3BlbkFJepdojXzket1MmQpA9cov’;
url = ‘https://api.openai.com/v1/engines/davinci/completions’;
options = weboptions(‘KeyName’,’Authorization’,’KeyValue’,[‘Bearer ‘ api_key],’MediaType’,’application/json’);
data = webwrite(url,’prompt’,prompt,’max_tokens’,2048,’model’,’text-davinci-003′,’stop’,”,options);
answer = loadjson(data);
answer = answer.choices{1}.text;
disp(answer)
Does anyone know how to connect MATLAB to Chat GPT to send prompts and retrieve back the responses. Also how to send data over to fine tune the model and then to further prompt that model?
It would be good for Mathworks to double quick release a toolbox on FileExchange for this as Python already has an OpenAI library. Seems like Mathworks is always one step behind Python these days.
Thx I tried connecting to Chat GPT with the following web instructions and get the error as reflected …
prompt = ‘What is the capital of France?’;
api_key = ‘sk-4Y8TmelxvsdfghfghhdT3BlbkFJepdojXzket1MmQpA9cov’;
url = ‘https://api.openai.com/v1/engines/davinci/completions’;
options = weboptions(‘KeyName’,’Authorization’,’KeyValue’,[‘Bearer ‘ api_key],’MediaType’,’application/json’);
data = webwrite(url,’prompt’,prompt,’max_tokens’,2048,’model’,’text-davinci-003′,’stop’,”,options);
answer = loadjson(data);
answer = answer.choices{1}.text;
disp(answer)
Does anyone know how to connect MATLAB to Chat GPT to send prompts and retrieve back the responses. Also how to send data over to fine tune the model and then to further prompt that model?
It would be good for Mathworks to double quick release a toolbox on FileExchange for this as Python already has an OpenAI library. Seems like Mathworks is always one step behind Python these days.
Thx prompts, fine tune, chatgpt MATLAB Answers — New Questions
MATLAB Course Certification not working- MATLAB Onramp Course
I completed the Onramp course, however, when I try to get the certificate, by clicking on the link:
This drop down flashes, dissapearing in a split second, giving an error message right after.
I luckily screenshot it, however, when I managed to click it in a flash, the following error appeared:
Request Header Fields Too Large
How could I get my certificate ?I completed the Onramp course, however, when I try to get the certificate, by clicking on the link:
This drop down flashes, dissapearing in a split second, giving an error message right after.
I luckily screenshot it, however, when I managed to click it in a flash, the following error appeared:
Request Header Fields Too Large
How could I get my certificate ? I completed the Onramp course, however, when I try to get the certificate, by clicking on the link:
This drop down flashes, dissapearing in a split second, giving an error message right after.
I luckily screenshot it, however, when I managed to click it in a flash, the following error appeared:
Request Header Fields Too Large
How could I get my certificate ? self-paced online courses, website error MATLAB Answers — New Questions
Demodulation error QAM-16, can’t make BER=0
%I can’t make BER=0, I think, something is wrong with demodulation, in the demodulated sequence there are only numbers 5, 7, 13, 15. Now BER is equal to about half of all bit values, so what can I do to resolve this and make BER=0?
clc
close all
clear all
M = 16;
L=10000;
T=10;
W=43; %SNR
bits1 = randi([0 M-1], 1, L);
bits2 = randi([0 3], 1, L/T);
mod1 = qammod(bits1, M,’UnitAveragePower’, true);
% scatterplot(mod1)
mod2 = qammod(bits2, 4, ‘UnitAveragePower’,true);
% scatterplot(mod2)
for i = 1:length(bits2)
sym(i,:)=[mod1((i-1)*T+1:i*T) mod2(i)];
end
f=0;
for k=1:L/T
for j=1:T+1
f=f+1;
symbols(f)=sym(k,j);
end
end
% scatterplot(symbols)
% symbols = awgn(symbols,W,"measured");
pnoise = comm.PhaseNoise(‘Level’,[-70 -104 -110],’FrequencyOffset’,[1e4 1e5 2e5], ‘SampleRate’, 28e6);
symbols2 = pnoise([zeros(1e5,1);symbols’]);
% symbols2 = pnoise(symbols);
fc = 1e6; % Carrier frequency in Hz
fs = 28e6; % Sample rate in Hz.
phNzLevel = [-70 -104 -110]; % in dBc/Hz
phNzFreqOff = [1e4 1e5 2e5]; % in Hz
Nspf = 6e6; % Number of Samples per frame
freqSpan = 400e3; % in Hz, for spectrum computation
sinewave = dsp.SineWave( …
Amplitude=1, …
Frequency=fc, …
SampleRate=fs, …
SamplesPerFrame=Nspf, …
ComplexOutput=true);
pnoise = comm.PhaseNoise( …
Level=phNzLevel, …
FrequencyOffset=phNzFreqOff, …
SampleRate=fs);
sascopeRBW100 = spectrumAnalyzer( …
SampleRate=fs, …
Method="welch", …
FrequencySpan="Span and center frequency", …
CenterFrequency=fc, …
Span=freqSpan, …
RBWSource="Property", …
RBW=100, …
SpectrumType="Power density", …
SpectralAverages=10, …
SpectrumUnits="dBW", …
YLimits=[-150 10], …
Title="Resolution Bandwidth 100 Hz", …
ChannelNames={‘signal’,’signal with phase noise’}, …
Position=[79 147 605 374]);
x = sinewave();
y = pnoise(x);
sascopeRBW100(x,y)
symbols2 = symbols2(1e5+1:end);
prim(1,:)=symbols2(1:T);
for i = 1:length(bits2)-1
prim(i+1,:)=symbols2(i*T+i+1:i*T+i+T);
end
for b = 1:length(mod2)
qam4(b)=symbols2((T+1)*b);
end
h=0;
for u=1:L/T
for l=1:T
h=h+1;
priem(h)=prim(u,l);
end
end
for g = 1:L/T
phase_error(g) = angle(qam4(g) / mod2(g));
compensated4(g) = qam4(g) .* exp(-1i * phase_error(g));
end
for v = 1:L/T
phase_errorM((v-1)*T+1:v*T)=phase_error(v);
end
for f = 1:L
compensatedM(f) = priem(f) .* exp(-1i*phase_errorM(f));
end
demod=qamdemod(compensatedM, M, ‘bin’,’OutputType’,’bit’);
% scatterplot(qam4)
% scatterplot(symbols2)
% scatterplot(compensatedM)
[number,ratio]=biterr(bits1,demod);
evm = lteEVM(demod,bits1);
figure(‘Position’,[200 200 1080 540])
subplot(1,2,1)
scatter(real(symbols2),imag(symbols2),300,".")
subplot(1,2,2)
scatter(real(compensatedM),imag(compensatedM),300,".")%I can’t make BER=0, I think, something is wrong with demodulation, in the demodulated sequence there are only numbers 5, 7, 13, 15. Now BER is equal to about half of all bit values, so what can I do to resolve this and make BER=0?
clc
close all
clear all
M = 16;
L=10000;
T=10;
W=43; %SNR
bits1 = randi([0 M-1], 1, L);
bits2 = randi([0 3], 1, L/T);
mod1 = qammod(bits1, M,’UnitAveragePower’, true);
% scatterplot(mod1)
mod2 = qammod(bits2, 4, ‘UnitAveragePower’,true);
% scatterplot(mod2)
for i = 1:length(bits2)
sym(i,:)=[mod1((i-1)*T+1:i*T) mod2(i)];
end
f=0;
for k=1:L/T
for j=1:T+1
f=f+1;
symbols(f)=sym(k,j);
end
end
% scatterplot(symbols)
% symbols = awgn(symbols,W,"measured");
pnoise = comm.PhaseNoise(‘Level’,[-70 -104 -110],’FrequencyOffset’,[1e4 1e5 2e5], ‘SampleRate’, 28e6);
symbols2 = pnoise([zeros(1e5,1);symbols’]);
% symbols2 = pnoise(symbols);
fc = 1e6; % Carrier frequency in Hz
fs = 28e6; % Sample rate in Hz.
phNzLevel = [-70 -104 -110]; % in dBc/Hz
phNzFreqOff = [1e4 1e5 2e5]; % in Hz
Nspf = 6e6; % Number of Samples per frame
freqSpan = 400e3; % in Hz, for spectrum computation
sinewave = dsp.SineWave( …
Amplitude=1, …
Frequency=fc, …
SampleRate=fs, …
SamplesPerFrame=Nspf, …
ComplexOutput=true);
pnoise = comm.PhaseNoise( …
Level=phNzLevel, …
FrequencyOffset=phNzFreqOff, …
SampleRate=fs);
sascopeRBW100 = spectrumAnalyzer( …
SampleRate=fs, …
Method="welch", …
FrequencySpan="Span and center frequency", …
CenterFrequency=fc, …
Span=freqSpan, …
RBWSource="Property", …
RBW=100, …
SpectrumType="Power density", …
SpectralAverages=10, …
SpectrumUnits="dBW", …
YLimits=[-150 10], …
Title="Resolution Bandwidth 100 Hz", …
ChannelNames={‘signal’,’signal with phase noise’}, …
Position=[79 147 605 374]);
x = sinewave();
y = pnoise(x);
sascopeRBW100(x,y)
symbols2 = symbols2(1e5+1:end);
prim(1,:)=symbols2(1:T);
for i = 1:length(bits2)-1
prim(i+1,:)=symbols2(i*T+i+1:i*T+i+T);
end
for b = 1:length(mod2)
qam4(b)=symbols2((T+1)*b);
end
h=0;
for u=1:L/T
for l=1:T
h=h+1;
priem(h)=prim(u,l);
end
end
for g = 1:L/T
phase_error(g) = angle(qam4(g) / mod2(g));
compensated4(g) = qam4(g) .* exp(-1i * phase_error(g));
end
for v = 1:L/T
phase_errorM((v-1)*T+1:v*T)=phase_error(v);
end
for f = 1:L
compensatedM(f) = priem(f) .* exp(-1i*phase_errorM(f));
end
demod=qamdemod(compensatedM, M, ‘bin’,’OutputType’,’bit’);
% scatterplot(qam4)
% scatterplot(symbols2)
% scatterplot(compensatedM)
[number,ratio]=biterr(bits1,demod);
evm = lteEVM(demod,bits1);
figure(‘Position’,[200 200 1080 540])
subplot(1,2,1)
scatter(real(symbols2),imag(symbols2),300,".")
subplot(1,2,2)
scatter(real(compensatedM),imag(compensatedM),300,".") %I can’t make BER=0, I think, something is wrong with demodulation, in the demodulated sequence there are only numbers 5, 7, 13, 15. Now BER is equal to about half of all bit values, so what can I do to resolve this and make BER=0?
clc
close all
clear all
M = 16;
L=10000;
T=10;
W=43; %SNR
bits1 = randi([0 M-1], 1, L);
bits2 = randi([0 3], 1, L/T);
mod1 = qammod(bits1, M,’UnitAveragePower’, true);
% scatterplot(mod1)
mod2 = qammod(bits2, 4, ‘UnitAveragePower’,true);
% scatterplot(mod2)
for i = 1:length(bits2)
sym(i,:)=[mod1((i-1)*T+1:i*T) mod2(i)];
end
f=0;
for k=1:L/T
for j=1:T+1
f=f+1;
symbols(f)=sym(k,j);
end
end
% scatterplot(symbols)
% symbols = awgn(symbols,W,"measured");
pnoise = comm.PhaseNoise(‘Level’,[-70 -104 -110],’FrequencyOffset’,[1e4 1e5 2e5], ‘SampleRate’, 28e6);
symbols2 = pnoise([zeros(1e5,1);symbols’]);
% symbols2 = pnoise(symbols);
fc = 1e6; % Carrier frequency in Hz
fs = 28e6; % Sample rate in Hz.
phNzLevel = [-70 -104 -110]; % in dBc/Hz
phNzFreqOff = [1e4 1e5 2e5]; % in Hz
Nspf = 6e6; % Number of Samples per frame
freqSpan = 400e3; % in Hz, for spectrum computation
sinewave = dsp.SineWave( …
Amplitude=1, …
Frequency=fc, …
SampleRate=fs, …
SamplesPerFrame=Nspf, …
ComplexOutput=true);
pnoise = comm.PhaseNoise( …
Level=phNzLevel, …
FrequencyOffset=phNzFreqOff, …
SampleRate=fs);
sascopeRBW100 = spectrumAnalyzer( …
SampleRate=fs, …
Method="welch", …
FrequencySpan="Span and center frequency", …
CenterFrequency=fc, …
Span=freqSpan, …
RBWSource="Property", …
RBW=100, …
SpectrumType="Power density", …
SpectralAverages=10, …
SpectrumUnits="dBW", …
YLimits=[-150 10], …
Title="Resolution Bandwidth 100 Hz", …
ChannelNames={‘signal’,’signal with phase noise’}, …
Position=[79 147 605 374]);
x = sinewave();
y = pnoise(x);
sascopeRBW100(x,y)
symbols2 = symbols2(1e5+1:end);
prim(1,:)=symbols2(1:T);
for i = 1:length(bits2)-1
prim(i+1,:)=symbols2(i*T+i+1:i*T+i+T);
end
for b = 1:length(mod2)
qam4(b)=symbols2((T+1)*b);
end
h=0;
for u=1:L/T
for l=1:T
h=h+1;
priem(h)=prim(u,l);
end
end
for g = 1:L/T
phase_error(g) = angle(qam4(g) / mod2(g));
compensated4(g) = qam4(g) .* exp(-1i * phase_error(g));
end
for v = 1:L/T
phase_errorM((v-1)*T+1:v*T)=phase_error(v);
end
for f = 1:L
compensatedM(f) = priem(f) .* exp(-1i*phase_errorM(f));
end
demod=qamdemod(compensatedM, M, ‘bin’,’OutputType’,’bit’);
% scatterplot(qam4)
% scatterplot(symbols2)
% scatterplot(compensatedM)
[number,ratio]=biterr(bits1,demod);
evm = lteEVM(demod,bits1);
figure(‘Position’,[200 200 1080 540])
subplot(1,2,1)
scatter(real(symbols2),imag(symbols2),300,".")
subplot(1,2,2)
scatter(real(compensatedM),imag(compensatedM),300,".") demodulation, qam-16, ber MATLAB Answers — New Questions
I9nstall matlab licensing R2024 : not found discardvirtualmemory, ibcef.dll
iHello, I have a crash during the install matlab_R2024a_Windows.exe (license serveur) The message is : not found discardvirtualmemory, ibcef.dll
Can you help me
thanks in advance
Maxime LLARIiHello, I have a crash during the install matlab_R2024a_Windows.exe (license serveur) The message is : not found discardvirtualmemory, ibcef.dll
Can you help me
thanks in advance
Maxime LLARI iHello, I have a crash during the install matlab_R2024a_Windows.exe (license serveur) The message is : not found discardvirtualmemory, ibcef.dll
Can you help me
thanks in advance
Maxime LLARI transferred MATLAB Answers — New Questions
Function with multiple input parameters to be determined through fitting
Hi, I have a function to be fitted to some experimental data, but this function has multiple fitting parameters (6 parameters). I know that one of the ways to find these fitting parameters is to pass the function, the inital guess to the parameters and the lower and upper bounds into the lsqcurvefit function.
I have already created the function, but it seems like the software doesn’t know that the p(1),p(2), p(3)… are parameters. Sorry if the function is very long.
What I wanted was p to be a vector with 6 elements p(1) p(2) p(3) p(4) p(5) p(6) but it seems like the software cant differentiate betwen p and p(1) p(2) p(3) p(4) p(5) p(6). When I try running the code, the error message I got was "Not enough input arguments"
Thank you for helping
function F = EM_SS(p, E_p)
F = p(1)*(2*pi*sqrt(p(4))/E_p)*(1/p(6))*(int(sech(((E_p – E)./p(6)))*(1 + 10*p(5)*(E – p(3)) + 126*p(5)^2*(E – p(3))^2)/(1 – exp(-2*pi*sqrt(p(4)/(E – p(3))))), E, p(3), Inf, ‘ArrayValued’, 1)) + p(2)*(2*pi*p(4)^3/2)*1/p(6)*((1/1^3)*sech((E_p – p(3) + p(4)/1^2)./p(6)) + (1/2^3)*sech((E_p – p(3) + p(4)/2^2)./p(6)) + (1/3^3)*sech((E_p – p(3) + p(4)/3^2)./p(6)) + (1/4^3)*sech((E_p – p(3) + p(4)/4^2)./p(6)) + (1/5^3)*sech((E_p – p(3) + p(4)/5^2)./p(6)) + (1/6^3)*sech((E_p – p(3) + p(4)/6^2)./p(6)) + (1/7^3)*sech((E_p – p(3) + p(4)/7^2)./p(6)));
endHi, I have a function to be fitted to some experimental data, but this function has multiple fitting parameters (6 parameters). I know that one of the ways to find these fitting parameters is to pass the function, the inital guess to the parameters and the lower and upper bounds into the lsqcurvefit function.
I have already created the function, but it seems like the software doesn’t know that the p(1),p(2), p(3)… are parameters. Sorry if the function is very long.
What I wanted was p to be a vector with 6 elements p(1) p(2) p(3) p(4) p(5) p(6) but it seems like the software cant differentiate betwen p and p(1) p(2) p(3) p(4) p(5) p(6). When I try running the code, the error message I got was "Not enough input arguments"
Thank you for helping
function F = EM_SS(p, E_p)
F = p(1)*(2*pi*sqrt(p(4))/E_p)*(1/p(6))*(int(sech(((E_p – E)./p(6)))*(1 + 10*p(5)*(E – p(3)) + 126*p(5)^2*(E – p(3))^2)/(1 – exp(-2*pi*sqrt(p(4)/(E – p(3))))), E, p(3), Inf, ‘ArrayValued’, 1)) + p(2)*(2*pi*p(4)^3/2)*1/p(6)*((1/1^3)*sech((E_p – p(3) + p(4)/1^2)./p(6)) + (1/2^3)*sech((E_p – p(3) + p(4)/2^2)./p(6)) + (1/3^3)*sech((E_p – p(3) + p(4)/3^2)./p(6)) + (1/4^3)*sech((E_p – p(3) + p(4)/4^2)./p(6)) + (1/5^3)*sech((E_p – p(3) + p(4)/5^2)./p(6)) + (1/6^3)*sech((E_p – p(3) + p(4)/6^2)./p(6)) + (1/7^3)*sech((E_p – p(3) + p(4)/7^2)./p(6)));
end Hi, I have a function to be fitted to some experimental data, but this function has multiple fitting parameters (6 parameters). I know that one of the ways to find these fitting parameters is to pass the function, the inital guess to the parameters and the lower and upper bounds into the lsqcurvefit function.
I have already created the function, but it seems like the software doesn’t know that the p(1),p(2), p(3)… are parameters. Sorry if the function is very long.
What I wanted was p to be a vector with 6 elements p(1) p(2) p(3) p(4) p(5) p(6) but it seems like the software cant differentiate betwen p and p(1) p(2) p(3) p(4) p(5) p(6). When I try running the code, the error message I got was "Not enough input arguments"
Thank you for helping
function F = EM_SS(p, E_p)
F = p(1)*(2*pi*sqrt(p(4))/E_p)*(1/p(6))*(int(sech(((E_p – E)./p(6)))*(1 + 10*p(5)*(E – p(3)) + 126*p(5)^2*(E – p(3))^2)/(1 – exp(-2*pi*sqrt(p(4)/(E – p(3))))), E, p(3), Inf, ‘ArrayValued’, 1)) + p(2)*(2*pi*p(4)^3/2)*1/p(6)*((1/1^3)*sech((E_p – p(3) + p(4)/1^2)./p(6)) + (1/2^3)*sech((E_p – p(3) + p(4)/2^2)./p(6)) + (1/3^3)*sech((E_p – p(3) + p(4)/3^2)./p(6)) + (1/4^3)*sech((E_p – p(3) + p(4)/4^2)./p(6)) + (1/5^3)*sech((E_p – p(3) + p(4)/5^2)./p(6)) + (1/6^3)*sech((E_p – p(3) + p(4)/6^2)./p(6)) + (1/7^3)*sech((E_p – p(3) + p(4)/7^2)./p(6)));
end curve fitting, lsqcurvefit MATLAB Answers — New Questions
intarpulation on a sin wall
I have a large data set and want to interpolate it; I am using this code to do so. Is there bater way or method to do so? My wave amplitude is 3.6mm, and length is 28.8 mm, which is very short. Any idea? i see some people segest Karnels intepulation? (i dont see a point to uplode any data it really simpal 2D data of velocity in a wavy tunnel, just want any good idea of intarpulations). i have large amount of waves and measurments so i need to be fast as well.
F_u = scatteredInterpolant(section_x(:), section_y(:), section_u(:), ‘linear’, ‘none’);
interp_u = F_u(interp_x, interp_y);
F_v = scatteredInterpolant(section_x(:), section_y(:), section_v(:), ‘linear’, ‘none’);
interp_v = F_v(interp_x, interp_y);
F_T = scatteredInterpolant(section_x(:), section_y(:), section_T(:), ‘linear’, ‘none’);
interp_T = F_T(interp_x, interp_y);
F_P = scatteredInterpolant(section_x(:), section_y(:), section_P(:), ‘linear’, ‘none’);
interp_P = F_P(interp_x, interp_y);
F_Tw = scatteredInterpolant(section_x(:), section_y(:), section_Tw(:), ‘linear’, ‘none’);
interp_Tw = F_Tw(interp_x, interp_y);I have a large data set and want to interpolate it; I am using this code to do so. Is there bater way or method to do so? My wave amplitude is 3.6mm, and length is 28.8 mm, which is very short. Any idea? i see some people segest Karnels intepulation? (i dont see a point to uplode any data it really simpal 2D data of velocity in a wavy tunnel, just want any good idea of intarpulations). i have large amount of waves and measurments so i need to be fast as well.
F_u = scatteredInterpolant(section_x(:), section_y(:), section_u(:), ‘linear’, ‘none’);
interp_u = F_u(interp_x, interp_y);
F_v = scatteredInterpolant(section_x(:), section_y(:), section_v(:), ‘linear’, ‘none’);
interp_v = F_v(interp_x, interp_y);
F_T = scatteredInterpolant(section_x(:), section_y(:), section_T(:), ‘linear’, ‘none’);
interp_T = F_T(interp_x, interp_y);
F_P = scatteredInterpolant(section_x(:), section_y(:), section_P(:), ‘linear’, ‘none’);
interp_P = F_P(interp_x, interp_y);
F_Tw = scatteredInterpolant(section_x(:), section_y(:), section_Tw(:), ‘linear’, ‘none’);
interp_Tw = F_Tw(interp_x, interp_y); I have a large data set and want to interpolate it; I am using this code to do so. Is there bater way or method to do so? My wave amplitude is 3.6mm, and length is 28.8 mm, which is very short. Any idea? i see some people segest Karnels intepulation? (i dont see a point to uplode any data it really simpal 2D data of velocity in a wavy tunnel, just want any good idea of intarpulations). i have large amount of waves and measurments so i need to be fast as well.
F_u = scatteredInterpolant(section_x(:), section_y(:), section_u(:), ‘linear’, ‘none’);
interp_u = F_u(interp_x, interp_y);
F_v = scatteredInterpolant(section_x(:), section_y(:), section_v(:), ‘linear’, ‘none’);
interp_v = F_v(interp_x, interp_y);
F_T = scatteredInterpolant(section_x(:), section_y(:), section_T(:), ‘linear’, ‘none’);
interp_T = F_T(interp_x, interp_y);
F_P = scatteredInterpolant(section_x(:), section_y(:), section_P(:), ‘linear’, ‘none’);
interp_P = F_P(interp_x, interp_y);
F_Tw = scatteredInterpolant(section_x(:), section_y(:), section_Tw(:), ‘linear’, ‘none’);
interp_Tw = F_Tw(interp_x, interp_y); interpolation, scatteredinterpolant MATLAB Answers — New Questions
Pixel by pixel comparison of 5 matrices into new matrices.
Hello!
I have 5 matrices: M1 = randi(100,10) , M2, M3 etc.
I want to be able to make new matrices with all of the same pixels in each matrix (so N1 = M1(1), M2(1) etc. until I reach N100 = M1(100), M2(100), etc.). I can do this manually, but the size of each matrix(10×10) would make this a very long process. I have been trying to mess around with for loops but cannot seem to figure out how to properly use them to create all 100 1×5 matrices. Are there any tips or ways to make this process happen? I tried using cell arrays as well in a for loop and yet I still am unable to do so.Hello!
I have 5 matrices: M1 = randi(100,10) , M2, M3 etc.
I want to be able to make new matrices with all of the same pixels in each matrix (so N1 = M1(1), M2(1) etc. until I reach N100 = M1(100), M2(100), etc.). I can do this manually, but the size of each matrix(10×10) would make this a very long process. I have been trying to mess around with for loops but cannot seem to figure out how to properly use them to create all 100 1×5 matrices. Are there any tips or ways to make this process happen? I tried using cell arrays as well in a for loop and yet I still am unable to do so. Hello!
I have 5 matrices: M1 = randi(100,10) , M2, M3 etc.
I want to be able to make new matrices with all of the same pixels in each matrix (so N1 = M1(1), M2(1) etc. until I reach N100 = M1(100), M2(100), etc.). I can do this manually, but the size of each matrix(10×10) would make this a very long process. I have been trying to mess around with for loops but cannot seem to figure out how to properly use them to create all 100 1×5 matrices. Are there any tips or ways to make this process happen? I tried using cell arrays as well in a for loop and yet I still am unable to do so. matrices, image segmentation, for loop, help MATLAB Answers — New Questions
struct to restrict curve in max problem
I have to keep the blue curve for a=1.617915e-01 (black broken line) to a=1.619728e-01. There’s a small segment of the curve near the black vertical line that is unwanted. How can I remove it?
clear all
warning off
format long
set(0,’DefaultAxesFontSize’,20);
figure;
load(‘H_LC(1).mat’);
dim=2; %number of variables of my system which are x and y
MM=max(x(1:dim:end-2,:));
plot(x(end,:),MM,’b’, ‘LineWidth’,2);
xlabel(‘$arightarrow$’,’FontSize’,20,’interpreter’,’latex’,’FontWeight’,’normal’,’Color’,’k’);
ylabel(‘$brightarrow$’,’FontSize’,20,’interpreter’,’latex’,’FontWeight’,’normal’,’Color’,’k’);
hold on; xline(1.617915e-01,’k–‘, ‘LineWidth’,1);
axis([.16175 .1621 .3 1]);I have to keep the blue curve for a=1.617915e-01 (black broken line) to a=1.619728e-01. There’s a small segment of the curve near the black vertical line that is unwanted. How can I remove it?
clear all
warning off
format long
set(0,’DefaultAxesFontSize’,20);
figure;
load(‘H_LC(1).mat’);
dim=2; %number of variables of my system which are x and y
MM=max(x(1:dim:end-2,:));
plot(x(end,:),MM,’b’, ‘LineWidth’,2);
xlabel(‘$arightarrow$’,’FontSize’,20,’interpreter’,’latex’,’FontWeight’,’normal’,’Color’,’k’);
ylabel(‘$brightarrow$’,’FontSize’,20,’interpreter’,’latex’,’FontWeight’,’normal’,’Color’,’k’);
hold on; xline(1.617915e-01,’k–‘, ‘LineWidth’,1);
axis([.16175 .1621 .3 1]); I have to keep the blue curve for a=1.617915e-01 (black broken line) to a=1.619728e-01. There’s a small segment of the curve near the black vertical line that is unwanted. How can I remove it?
clear all
warning off
format long
set(0,’DefaultAxesFontSize’,20);
figure;
load(‘H_LC(1).mat’);
dim=2; %number of variables of my system which are x and y
MM=max(x(1:dim:end-2,:));
plot(x(end,:),MM,’b’, ‘LineWidth’,2);
xlabel(‘$arightarrow$’,’FontSize’,20,’interpreter’,’latex’,’FontWeight’,’normal’,’Color’,’k’);
ylabel(‘$brightarrow$’,’FontSize’,20,’interpreter’,’latex’,’FontWeight’,’normal’,’Color’,’k’);
hold on; xline(1.617915e-01,’k–‘, ‘LineWidth’,1);
axis([.16175 .1621 .3 1]); plotting MATLAB Answers — New Questions
How to predict with 1Dconvolution layers: get 3 channels to produce one output?
Hello there I am tying to build a model to test what a 1D convolution layer will do to my data. I have 3 input accelerometer mesurements in the x,y,z directions and am trying to predict a continuous output. The Xtrain is a 3×500 double with the 3 input accelerometer mesurements over 500 time steps and the Ytrain is a 1×500 double of the target output variable. The code I have developed is here:
numFilters = 64;
filterSize = 5;
droupoutFactor = 0.005;
numBlocks = 4;
dilationFactor = 1;
net = dlnetwork;
layers = sequenceInputLayer(NumFeatures,Normalization="rescale-symmetric",Name="inputaccelerometers")
convolution1dLayer(filterSize,numFilters,DilationFactor=dilationFactor,Padding="causal",Name="conv1_")
net = addLayers(net,layers)
options = trainingOptions("adam", …
MaxEpochs=60, …
miniBatchSize=1, …
InputDataFormats="CTB", …
Plots="training-progress", …
Metrics="rmse", …
Verbose=0);
net = trainnet(Xtrain’,Ytrain’,net,"mse",options)
But when I try and train the model I get and error that says: Number of channels in predictions (3) must match the number of channels in the targets (1). Do I need to add another layer to convert the inputs into one predicted output and which layer should I use to do this? Any suggestions on how to remove this error and get the network to run accurately? Thanks so much!Hello there I am tying to build a model to test what a 1D convolution layer will do to my data. I have 3 input accelerometer mesurements in the x,y,z directions and am trying to predict a continuous output. The Xtrain is a 3×500 double with the 3 input accelerometer mesurements over 500 time steps and the Ytrain is a 1×500 double of the target output variable. The code I have developed is here:
numFilters = 64;
filterSize = 5;
droupoutFactor = 0.005;
numBlocks = 4;
dilationFactor = 1;
net = dlnetwork;
layers = sequenceInputLayer(NumFeatures,Normalization="rescale-symmetric",Name="inputaccelerometers")
convolution1dLayer(filterSize,numFilters,DilationFactor=dilationFactor,Padding="causal",Name="conv1_")
net = addLayers(net,layers)
options = trainingOptions("adam", …
MaxEpochs=60, …
miniBatchSize=1, …
InputDataFormats="CTB", …
Plots="training-progress", …
Metrics="rmse", …
Verbose=0);
net = trainnet(Xtrain’,Ytrain’,net,"mse",options)
But when I try and train the model I get and error that says: Number of channels in predictions (3) must match the number of channels in the targets (1). Do I need to add another layer to convert the inputs into one predicted output and which layer should I use to do this? Any suggestions on how to remove this error and get the network to run accurately? Thanks so much! Hello there I am tying to build a model to test what a 1D convolution layer will do to my data. I have 3 input accelerometer mesurements in the x,y,z directions and am trying to predict a continuous output. The Xtrain is a 3×500 double with the 3 input accelerometer mesurements over 500 time steps and the Ytrain is a 1×500 double of the target output variable. The code I have developed is here:
numFilters = 64;
filterSize = 5;
droupoutFactor = 0.005;
numBlocks = 4;
dilationFactor = 1;
net = dlnetwork;
layers = sequenceInputLayer(NumFeatures,Normalization="rescale-symmetric",Name="inputaccelerometers")
convolution1dLayer(filterSize,numFilters,DilationFactor=dilationFactor,Padding="causal",Name="conv1_")
net = addLayers(net,layers)
options = trainingOptions("adam", …
MaxEpochs=60, …
miniBatchSize=1, …
InputDataFormats="CTB", …
Plots="training-progress", …
Metrics="rmse", …
Verbose=0);
net = trainnet(Xtrain’,Ytrain’,net,"mse",options)
But when I try and train the model I get and error that says: Number of channels in predictions (3) must match the number of channels in the targets (1). Do I need to add another layer to convert the inputs into one predicted output and which layer should I use to do this? Any suggestions on how to remove this error and get the network to run accurately? Thanks so much! neural network, convolution layer, input MATLAB Answers — New Questions
Maintain formatting while reading PDF document
Hello, while reading a PDF document, I want to let the formatting as it is – for the bold to be bold, for the italic to be italic. I have tried this with extractFileText, but not successful. How can this be done? Thanks.Hello, while reading a PDF document, I want to let the formatting as it is – for the bold to be bold, for the italic to be italic. I have tried this with extractFileText, but not successful. How can this be done? Thanks. Hello, while reading a PDF document, I want to let the formatting as it is – for the bold to be bold, for the italic to be italic. I have tried this with extractFileText, but not successful. How can this be done? Thanks. pdf, formatting, read file, text analytics MATLAB Answers — New Questions
Unable to display the data from the DHT11 sensor on the channel without Wi Fi using TTGO T-Call (=esp32 + SIM800L) and TCP/IP commands
the files attached contains the code that i used , and when i upload, it shows the results in the screenshots below,
Task : sending dht11 data without Wi Fi to thingspeakthe files attached contains the code that i used , and when i upload, it shows the results in the screenshots below,
Task : sending dht11 data without Wi Fi to thingspeak the files attached contains the code that i used , and when i upload, it shows the results in the screenshots below,
Task : sending dht11 data without Wi Fi to thingspeak sim800l, ttgo t-call, data, dht11, arduino ide, tcp/ip MATLAB Answers — New Questions
Quadratic optimization with quadratic constraints
Hi everyone,
I have an optimization problem with a quadratic objective function and quadratic constraint functions AND the problem is non-convex.
Is there any Matlab function which can do this? QUADPROG and FMINCON only allow linear constraints afaik. I also tried a solver by MOSEK (http://mosek.com/) but this only can deal with convex problems. Is there any tool/function for the non-convex case?
Thanks!
RenéHi everyone,
I have an optimization problem with a quadratic objective function and quadratic constraint functions AND the problem is non-convex.
Is there any Matlab function which can do this? QUADPROG and FMINCON only allow linear constraints afaik. I also tried a solver by MOSEK (http://mosek.com/) but this only can deal with convex problems. Is there any tool/function for the non-convex case?
Thanks!
René Hi everyone,
I have an optimization problem with a quadratic objective function and quadratic constraint functions AND the problem is non-convex.
Is there any Matlab function which can do this? QUADPROG and FMINCON only allow linear constraints afaik. I also tried a solver by MOSEK (http://mosek.com/) but this only can deal with convex problems. Is there any tool/function for the non-convex case?
Thanks!
René optimization, nonlinear, mathematics MATLAB Answers — New Questions
MEX-Function execution time issue in Simulink model
I am working on integrating a MEX function into a Simulink model to protect the source code of an algorithm from direct visibility. To achieve this, I converted the original MATLAB function into a MEX function, which I then call within a MATLAB Function block using the coder.extrinsic command.
During my testing, I’ve observed that the MEX function executes at each simulation step and is significantly slower compared to the original MATLAB function, resulting in a much higher overall simulation time.
I have several questions and would appreciate insights from the community:
Why might the MEX function be performing slower than the MATLAB function within the Simulink environment?
How does Simulink handle MEX functions during simulation and compilation?
What are the best practices or correct methods for integrating a MEX function into a Simulink model to ensure optimal performance?
Any detailed explanations or guidance on troubleshooting and improving the performance of MEX functions in Simulink would be highly appreciated. Thank you!I am working on integrating a MEX function into a Simulink model to protect the source code of an algorithm from direct visibility. To achieve this, I converted the original MATLAB function into a MEX function, which I then call within a MATLAB Function block using the coder.extrinsic command.
During my testing, I’ve observed that the MEX function executes at each simulation step and is significantly slower compared to the original MATLAB function, resulting in a much higher overall simulation time.
I have several questions and would appreciate insights from the community:
Why might the MEX function be performing slower than the MATLAB function within the Simulink environment?
How does Simulink handle MEX functions during simulation and compilation?
What are the best practices or correct methods for integrating a MEX function into a Simulink model to ensure optimal performance?
Any detailed explanations or guidance on troubleshooting and improving the performance of MEX functions in Simulink would be highly appreciated. Thank you! I am working on integrating a MEX function into a Simulink model to protect the source code of an algorithm from direct visibility. To achieve this, I converted the original MATLAB function into a MEX function, which I then call within a MATLAB Function block using the coder.extrinsic command.
During my testing, I’ve observed that the MEX function executes at each simulation step and is significantly slower compared to the original MATLAB function, resulting in a much higher overall simulation time.
I have several questions and would appreciate insights from the community:
Why might the MEX function be performing slower than the MATLAB function within the Simulink environment?
How does Simulink handle MEX functions during simulation and compilation?
What are the best practices or correct methods for integrating a MEX function into a Simulink model to ensure optimal performance?
Any detailed explanations or guidance on troubleshooting and improving the performance of MEX functions in Simulink would be highly appreciated. Thank you! simulink, mex function, coder.extrinsic, simulation speed, mex compiler, execution time, matlab compiler MATLAB Answers — New Questions
Assertion block does not stop simulation if I run the model with “sim” function
Hi, I’m having issues with the Assertion block in Simulink when it comes to pause the current simulation.
Please refer to the following toy-example, which is enough to show the problem. Here, the assertion should be triggered after one second of simulation.
Here is what I’m trying to do:
Run the simulation programmatically, using a Matlab script
When a certain condition is met (here: after one seconds of simulation), pause the simulation in order to trigger the model callback "PauseFcn"
After performing some operations within the callback, resume the simulation
Following the documentation, I configured the Assertion block in order to monitor the desired condition and pause the model. Specifically, I set the Assertion block callback to:
set_param(bdroot,’SimulationCommand’,’pause’)
—————————————
If I run the model using Simulink GUI, everything works fine: the model pauses after one second and the "PauseFcn" callabck is executed.
However, if I run the model programmatically using
MyOut = sim("MyModelName");
Then the following happens:
The Assertion block triggers a warning after one second, as it should; the warning is dispayed in the Command Window
Despite this, the simulation does not pause: it proceeds beyond one second.
As an additional consequence, the model callback "PauseFcn" is not triggered (as confirmed by tracing the callbacks)
Do you have any suggestions?
I’m using Matlab R2024aHi, I’m having issues with the Assertion block in Simulink when it comes to pause the current simulation.
Please refer to the following toy-example, which is enough to show the problem. Here, the assertion should be triggered after one second of simulation.
Here is what I’m trying to do:
Run the simulation programmatically, using a Matlab script
When a certain condition is met (here: after one seconds of simulation), pause the simulation in order to trigger the model callback "PauseFcn"
After performing some operations within the callback, resume the simulation
Following the documentation, I configured the Assertion block in order to monitor the desired condition and pause the model. Specifically, I set the Assertion block callback to:
set_param(bdroot,’SimulationCommand’,’pause’)
—————————————
If I run the model using Simulink GUI, everything works fine: the model pauses after one second and the "PauseFcn" callabck is executed.
However, if I run the model programmatically using
MyOut = sim("MyModelName");
Then the following happens:
The Assertion block triggers a warning after one second, as it should; the warning is dispayed in the Command Window
Despite this, the simulation does not pause: it proceeds beyond one second.
As an additional consequence, the model callback "PauseFcn" is not triggered (as confirmed by tracing the callbacks)
Do you have any suggestions?
I’m using Matlab R2024a Hi, I’m having issues with the Assertion block in Simulink when it comes to pause the current simulation.
Please refer to the following toy-example, which is enough to show the problem. Here, the assertion should be triggered after one second of simulation.
Here is what I’m trying to do:
Run the simulation programmatically, using a Matlab script
When a certain condition is met (here: after one seconds of simulation), pause the simulation in order to trigger the model callback "PauseFcn"
After performing some operations within the callback, resume the simulation
Following the documentation, I configured the Assertion block in order to monitor the desired condition and pause the model. Specifically, I set the Assertion block callback to:
set_param(bdroot,’SimulationCommand’,’pause’)
—————————————
If I run the model using Simulink GUI, everything works fine: the model pauses after one second and the "PauseFcn" callabck is executed.
However, if I run the model programmatically using
MyOut = sim("MyModelName");
Then the following happens:
The Assertion block triggers a warning after one second, as it should; the warning is dispayed in the Command Window
Despite this, the simulation does not pause: it proceeds beyond one second.
As an additional consequence, the model callback "PauseFcn" is not triggered (as confirmed by tracing the callbacks)
Do you have any suggestions?
I’m using Matlab R2024a simulink, simulation, callback MATLAB Answers — New Questions
BLDC Motor Control with boost converter
Hi, there is a BLDC Motor Control Simulink model in Matlab and it works perfect. It uses buck converter to regulate the dc voltage. I created a boost converter model to increase my 24V battery instead of constant dc voltage. It works perfect separate from BLDC model but when I add this model to BLDC control model, the duty cycle that is coming out of PID block is always 0 and the desired speed input doesnt change anything. This is BLDC Motor Control Simulink model with Buck converter:
And this is my boost converter and complete model:
And these is duty cycle:
Anyone who can help solving this problem? Thank you!Hi, there is a BLDC Motor Control Simulink model in Matlab and it works perfect. It uses buck converter to regulate the dc voltage. I created a boost converter model to increase my 24V battery instead of constant dc voltage. It works perfect separate from BLDC model but when I add this model to BLDC control model, the duty cycle that is coming out of PID block is always 0 and the desired speed input doesnt change anything. This is BLDC Motor Control Simulink model with Buck converter:
And this is my boost converter and complete model:
And these is duty cycle:
Anyone who can help solving this problem? Thank you! Hi, there is a BLDC Motor Control Simulink model in Matlab and it works perfect. It uses buck converter to regulate the dc voltage. I created a boost converter model to increase my 24V battery instead of constant dc voltage. It works perfect separate from BLDC model but when I add this model to BLDC control model, the duty cycle that is coming out of PID block is always 0 and the desired speed input doesnt change anything. This is BLDC Motor Control Simulink model with Buck converter:
And this is my boost converter and complete model:
And these is duty cycle:
Anyone who can help solving this problem? Thank you! bldc, electric_motor_control, boost converter MATLAB Answers — New Questions
Why is there 100% CPU use by keeping synchronizing certain files in MATLAB Connector?
MATLAB Connector keeps telling me that it’s updating for just two files like main and HEAD, but it doesn’t seem to actually update because those files do not exist in MATLAB Drive folder.
While trying to update those files, my computer is slow because it takes up 100% of CPU utilization. If synchronization is paused, the CPU utilization rate, which was 100%, drops, and if synchronization is not stopped, CPU utilization is continuously used.
I uninstalled and reinstalled MATLAB Connector by following the manual but this issue is not resolved.
https://www.mathworks.com/help/matlab/matlab_env/install-matlab-drive.htmlMATLAB Connector keeps telling me that it’s updating for just two files like main and HEAD, but it doesn’t seem to actually update because those files do not exist in MATLAB Drive folder.
While trying to update those files, my computer is slow because it takes up 100% of CPU utilization. If synchronization is paused, the CPU utilization rate, which was 100%, drops, and if synchronization is not stopped, CPU utilization is continuously used.
I uninstalled and reinstalled MATLAB Connector by following the manual but this issue is not resolved.
https://www.mathworks.com/help/matlab/matlab_env/install-matlab-drive.html MATLAB Connector keeps telling me that it’s updating for just two files like main and HEAD, but it doesn’t seem to actually update because those files do not exist in MATLAB Drive folder.
While trying to update those files, my computer is slow because it takes up 100% of CPU utilization. If synchronization is paused, the CPU utilization rate, which was 100%, drops, and if synchronization is not stopped, CPU utilization is continuously used.
I uninstalled and reinstalled MATLAB Connector by following the manual but this issue is not resolved.
https://www.mathworks.com/help/matlab/matlab_env/install-matlab-drive.html matlabconnector MATLAB Answers — New Questions
how to compute ERGODIC CHANNEL CAPACITY for 8 element mimo antenna
how to compute ERGODIC CHANNEL CAPACITY for 8 element mimo antenna .also plot frequency vs channel capacityhow to compute ERGODIC CHANNEL CAPACITY for 8 element mimo antenna .also plot frequency vs channel capacity how to compute ERGODIC CHANNEL CAPACITY for 8 element mimo antenna .also plot frequency vs channel capacity antenna, mimo MATLAB Answers — New Questions