Multiplying matrices by a number

조회 수: 5 (최근 30일)
João
João 2013년 12월 22일
댓글: João 2013년 12월 24일
Hi all,
I have a matrix in matlab that I already divide in 52 matrices, now I want to multiply each one of this matrices by the same number.
Each one of the 52 matrices have the size 7*24.
So the code I used to read and divide the matrix is;
[num, preco] = xlsread('preco_2008', 'Folha1' , 'C3:Z368');
[M,N] = size(preco); %# Matrix size
nSub = 52; %# Number of submatrices
semana = mat2cell(preco,diff(round(linspace(0,M,nSub+1))),N);
Now I want to multiply "semana" by Txsemanal
IPC_2008=-0.5;
IPC_2013=-0.2;
Txmensal=(IPC_2013-IPC_2008)/(IPC_2008);
Txsemanal=Txmensal/4;
I already tried A = mtimes(semana,Txsemanal) and cellfun(@mtimes, semana, Txsemanal, 'UniformOutput', false)
But I getting and error.
Could you please help me with multiplication?

채택된 답변

Image Analyst
Image Analyst 2013년 12월 23일
preco is the text (strings) in your workbook. So you can't multiply words by numbers . Perhaps you meant to use num instead , which is an array of numerical types, most likely doubles.
  댓글 수: 1
João
João 2013년 12월 24일
Thx for the help, I already found my problem I was using dots in excel so I was getting numbers as text.

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

ES
ES 2013년 12월 23일
편집: ES 2013년 12월 23일
[num, preco] contains cell array. mtimes does no support cell array inputs. so convert them to matrices using cell2mat - http://www.mathworks.in/help/matlab/ref/cell2mat.html

카테고리

Help CenterFile Exchange에서 Logical에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by