"when i used Matlab function i got the error message" Colon operands must be all the same type, or mixed with real scalar doubles.
    6 views (last 30 days)
  
       Show older comments
    
Hello there !
This is my text.xlxs file 

function Voltage = fcn(~)
coder.extrinsic('xlsread')
current =3; 
Signal=xlsread('test.xlsx'); % read from file  
frq= size(Signal,1);
S12= size(Signal,2);
for i=1 :Signal
    if (frq(i) == 2.4500 )
        x=S12(i);
    end
end
Power= x^2;
Voltage = Power/current;
end
It's keep show me this error when i run it " Colon operands must be all the same type, or mixed with real scalar doubles."
Actually I'm just a beginner in Matlab, So can you tell me please how can I fix it?
2 Comments
  Subhadeep Koley
    
 on 10 May 2020
				Hi, can you share your test.xlsx file? A first observation reveals that your definition of the indexing variable range i is not correct. The variable Signal is most probably a 2d matrix. Therefore you can not vary i from 1 to Signal.
  Walter Roberson
      
      
 on 10 May 2020
				notice that frq is a scalar double, but you are going to try to index it. You need to rethink your indexing
Answers (1)
  Ayush Goyal
    
 on 19 Jun 2020
        From my understanding of the question you are facing issue while extracting columns of Signal matrix into separate vectors as frq and S12. You can refer to the following link for how to extract columns of a matrix into separate vectors:  
Also, iterate your for loop from 1 to number of rows in Signal Matrix. Check the following code: 
function Voltage = fcn(~) 
coder.extrinsic('xlsread') 
current =3;  
Signal=xlsread('test.xlsx'); % read from file   
frq= Signal(:,1); % Extract first column of Signal 
S12= Signal(:,2); % Extract second column of Signal 
for i=1:size(Signal,1) %Iterate upto number of rows in Signal 
    if (frq(i) == 2.4500 ) 
        x=S12(i); 
    end 
end 
Power= x^2; 
Voltage = Power/current; 
end 
0 Comments
See Also
Categories
				Find more on Performance and Memory in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!