How to concatenate 2 arrays vertically in a .mat file ?
    4 views (last 30 days)
  
       Show older comments
    
Hey im trying to append the variable F with the file db.mat
 %%Taking an Image
 clc
 close all
 [fname path]=uigetfile('.jpg','Open a face as input for Training');
 fname = strcat(path,fname);
 im = imread('fname');
 imshow(im);
 title('Input Face');
 c = input('Enter the input class: ');
 %%Feature Extraction
 F = featureStatistical(im);
 load 'db.mat' x
 F=[F c]; % F would have mean and standard deviation
 x = [x F]
 save db.mat x
where F is returned from this function:
 function [F] = featureStatistical(im); % function featureStatistical returns F and gets im as its argument
 im = double(im);
 m = mean(mean(im));
 s = std(std(im));
 F = [m s];
On trying to do so, I'm getting the following error:
 Error using horzcat
 The following error occurred converting from double to struct:
 Conversion to struct from double is not possible.
 Error in module1_Training (line 14)
 x = [x F]
say my file db.mat has:
23.6   4.95    1.0
56.2   3.25    2.0
and that my F is:
 56.3    5.36   3.0
I would wish to have my db.mat to be:
 23.6   4.95    1.0
 56.2   3.25    2.0
 56.3    5.36   3.0
Thanks in advance :)
1 Comment
  Walter Roberson
      
      
 on 22 Dec 2017
				say my file db.mat has:
23.6   4.95    1.0
56.2   3.25    2.0
But it doesn't. .mat files store variables, and the variable x that is currently in the file is a struct rather than a double array.
Answers (0)
See Also
Categories
				Find more on Whos 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!
