Azzera filtri
Azzera filtri

I have a 720x20 matrix how can i subtract 1x20 matrix from it?

2 visualizzazioni (ultimi 30 giorni)
clc
clear
signal_factor=10;
format long
folder='E:\Pressure split';
filetype='*.xlsx';
f=fullfile(folder,filetype);
d=dir(f);
for k=1:numel(d);
data{k}=xlsread(fullfile(folder,d(k).name));
end
data=cell2mat(data);
A=data(:,1);
A=A(80:end,1);
n = 720;
m = numel(A);
out = reshape([A(:);nan(mod(-m,n),1)],n,[]);
out=out*signal_factor;
min=min(out);
This is my code, it generates 720x20 matrix and the min also generates 1x20 matix what i want is to subtract first value of min from out (subtract a constant value from all the 720 values) and so on.
  4 Commenti
PRUDHVI RAJU
PRUDHVI RAJU il 2 Set 2016
min=repmat(min,720,1); % 720 rows same 'min' row matrix
sub=out-min;
Azzi Abdelmalek
Azzi Abdelmalek il 2 Set 2016
Don't use the built-in function min as a variable

Accedi per commentare.

Risposta accettata

Adam
Adam il 2 Set 2016
Modificato: Adam il 2 Set 2016
res = bsxfun( @minus, out, minVal);
should work if I understand correctly what you are asking.
Don't ever call a variable 'min' though, especially not when you are also using the function 'min' which you hide after your variable gets created (but really just never do it, irrespective of whether you are using the 'min' function in your code or not).

Più risposte (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by