xlswrite is giving some error while using "for loop" in matlab
1 view (last 30 days)
Show older comments
Dear MATLAB Experts,
I need to write the output of each loop in the same excel sheet, column-wise.
'Y' output data in column-A of excel sheet and 'Theta_3' output data in column-B of the same sheet.
In the next loop, output must be written in C and D column, and so on.....
Each loop gives either 4 or 8 real roots of the polynomial (defined in 'r'). I dont want imaginary roots.
I have written code like this.
But, its showing the following error:
#############################################################
Error using xlswrite (line 166)
Input data must be a numeric, cell, or logical array.
#############################################################
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clear all
clc
syms l1 l2 l3 x y real
format short
for l3 = 0.77:.01:1.06;
l1 = sqrt(2);
l2 = sqrt(2);
r=4096 * l1 .^ 8 * y .^ 8 - 32768 * l1 .^ 7 * l3 * y .^ 8 - 16384 * l1 .^ 6 * l2 .^ 2 * y .^ 8 + 147456 * l1 .^ 6 * l3 .^ 2 * y .^ 8 + 131072 * l1 .^ 5 * l2 .^ 2 * l3 * y .^ 8 - 425984 * l1 .^ 5 * l3 .^ 3 * y .^ 8 + 32768 * l1 .^ 4 * l2 .^ 4 * y .^ 8 - 491520 * l1 .^ 4 * l2 .^ 2 * l3 .^ 2 * y .^ 8 + 876544 * l1 .^ 4 * l3 .^ 4 * y .^ 8 - 262144 * l1 .^ 3 * l2 .^ 4 * l3 * y .^ 8 + 1114112 * l1 .^ 3 * l2 .^ 2 * l3 .^ 3 * y .^ 8 - 1277952 * l1 .^ 3 * l3 .^ 5 * y .^ 8 - 65536 * l1 .^ 2 * l2 .^ 6 * y .^ 8 + 655360 * l1 .^ 2 * l2 .^ 4 * l3 .^ 2 * y .^ 8 - 1589248 * l1 .^ 2 * l2 .^ 2 * l3 .^ 4 * y .^ 8 + 1327104 * l1 .^ 2 * l3 .^ 6 * y .^ 8 + 262144 * l1 * l2 .^ 6 * l3 * y .^ 8 - 917504 * l1 * l2 .^ 4 * l3 .^ 3 * y .^ 8 + 1376256 * l1 * l2 .^ 2 * l3 .^ 5 * y .^ 8 - 884736 * l1 * l3 .^ 7 * y .^ 8 + 65536 * l2 .^ 8 * y .^ 8 - 262144 * l2 .^ 6 * l3 .^ 2 * y .^ 8 + 491520 * l2 .^ 4 * l3 .^ 4 * y .^ 8 - 589824 * l2 .^ 2 * l3 .^ 6 * y .^ 8 + 331776 * l3 .^ 8 * y .^ 8 + 16384 * l1 .^ 8 * y .^ 6 - 65536 * l1 .^ 7 * l3 * y .^ 6 - 65536 * l1 .^ 6 * l2 .^ 2 * y .^ 6 - 65536 * l1 .^ 6 * l3 .^ 2 * y .^ 6 + 262144 * l1 .^ 5 * l2 .^ 2 * l3 * y .^ 6 + 720896 * l1 .^ 5 * l3 .^ 3 * y .^ 6 + 131072 * l1 .^ 4 * l2 .^ 4 * y .^ 6 - 131072 * l1 .^ 4 * l2 .^ 2 * l3 .^ 2 * y .^ 6 - 1998848 * l1 .^ 4 * l3 .^ 4 * y .^ 6 - 524288 * l1 .^ 3 * l2 .^ 4 * l3 * y .^ 6 - 917504 * l1 .^ 3 * l2 .^ 2 * l3 .^ 3 * y .^ 6 + 2162688 * l1 .^ 3 * l3 .^ 5 * y .^ 6 - 262144 * l1 .^ 2 * l2 .^ 6 * y .^ 6 + 524288 * l1 .^ 2 * l2 .^ 4 * l3 .^ 2 * y .^ 6 - 65536 * l1 .^ 2 * l2 .^ 2 * l3 .^ 4 * y .^ 6 - 589824 * l1 .^ 2 * l3 .^ 6 * y .^ 6 + 524288 * l1 * l2 .^ 6 * l3 * y .^ 6 - 1835008 * l1 * l2 .^ 4 * l3 .^ 3 * y .^ 6 + 2752512 * l1 * l2 .^ 2 * l3 .^ 5 * y .^ 6 - 1769472 * l1 * l3 .^ 7 * y .^ 6 + 262144 * l2 .^ 8 * y .^ 6 - 1048576 * l2 .^ 6 * l3 .^ 2 * y .^ 6 + 1966080 * l2 .^ 4 * l3 .^ 4 * y .^ 6 - 2359296 * l2 .^ 2 * l3 .^ 6 * y .^ 6 + 1327104 * l3 .^ 8 * y .^ 6 + 24576 * l1 .^ 8 * y .^ 4 - 98304 * l1 .^ 6 * l2 .^ 2 * y .^ 4 - 425984 * l1 .^ 6 * l3 .^ 2 * y .^ 4 + 196608 * l1 .^ 4 * l2 .^ 4 * y .^ 4 + 720896 * l1 .^ 4 * l2 .^ 2 * l3 .^ 2 * y .^ 4 + 3686400 * l1 .^ 4 * l3 .^ 4 * y .^ 4 - 393216 * l1 .^ 2 * l2 .^ 6 * y .^ 4 - 262144 * l1 .^ 2 * l2 .^ 4 * l3 .^ 2 * y .^ 4 + 3047424 * l1 .^ 2 * l2 .^ 2 * l3 .^ 4 * y .^ 4 - 3833856 * l1 .^ 2 * l3 .^ 6 * y .^ 4 + 393216 * l2 .^ 8 * y .^ 4 - 1572864 * l2 .^ 6 * l3 .^ 2 * y .^ 4 + 2949120 * l2 .^ 4 * l3 .^ 4 * y .^ 4 - 3538944 * l2 .^ 2 * l3 .^ 6 * y .^ 4 + 1990656 * l3 .^ 8 * y .^ 4 + 16384 * l1 .^ 8 * y .^ 2 + 65536 * l1 .^ 7 * l3 * y .^ 2 - 65536 * l1 .^ 6 * l2 .^ 2 * y .^ 2 - 65536 * l1 .^ 6 * l3 .^ 2 * y .^ 2 - 262144 * l1 .^ 5 * l2 .^ 2 * l3 * y .^ 2 - 720896 * l1 .^ 5 * l3 .^ 3 * y .^ 2 + 131072 * l1 .^ 4 * l2 .^ 4 * y .^ 2 - 131072 * l1 .^ 4 * l2 .^ 2 * l3 .^ 2 * y .^ 2 - 1998848 * l1 .^ 4 * l3 .^ 4 * y .^ 2 + 524288 * l1 .^ 3 * l2 .^ 4 * l3 * y .^ 2 + 917504 * l1 .^ 3 * l2 .^ 2 * l3 .^ 3 * y .^ 2 - 2162688 * l1 .^ 3 * l3 .^ 5 * y .^ 2 - 262144 * l1 .^ 2 * l2 .^ 6 * y .^ 2 + 524288 * l1 .^ 2 * l2 .^ 4 * l3 .^ 2 * y .^ 2 - 65536 * l1 .^ 2 * l2 .^ 2 * l3 .^ 4 * y .^ 2 - 589824 * l1 .^ 2 * l3 .^ 6 * y .^ 2 - 524288 * l1 * l2 .^ 6 * l3 * y .^ 2 + 1835008 * l1 * l2 .^ 4 * l3 .^ 3 * y .^ 2 - 2752512 * l1 * l2 .^ 2 * l3 .^ 5 * y .^ 2 + 1769472 * l1 * l3 .^ 7 * y .^ 2 + 262144 * l2 .^ 8 * y .^ 2 - 1048576 * l2 .^ 6 * l3 .^ 2 * y .^ 2 + 1966080 * l2 .^ 4 * l3 .^ 4 * y .^ 2 - 2359296 * l2 .^ 2 * l3 .^ 6 * y .^ 2 + 1327104 * l3 .^ 8 * y .^ 2 + 4096 * l1 .^ 8 + 32768 * l1 .^ 7 * l3 - 16384 * l1 .^ 6 * l2 .^ 2 + 147456 * l1 .^ 6 * l3 .^ 2 - 131072 * l1 .^ 5 * l2 .^ 2 * l3 + 425984 * l1 .^ 5 * l3 .^ 3 + 32768 * l1 .^ 4 * l2 .^ 4 - 491520 * l1 .^ 4 * l2 .^ 2 * l3 .^ 2 + 876544 * l1 .^ 4 * l3 .^ 4 + 262144 * l1 .^ 3 * l2 .^ 4 * l3 - 1114112 * l1 .^ 3 * l2 .^ 2 * l3 .^ 3 + 1277952 * l1 .^ 3 * l3 .^ 5 - 65536 * l1 .^ 2 * l2 .^ 6 + 655360 * l1 .^ 2 * l2 .^ 4 * l3 .^ 2 - 1589248 * l1 .^ 2 * l2 .^ 2 * l3 .^ 4 + 1327104 * l1 .^ 2 * l3 .^ 6 - 262144 * l1 * l2 .^ 6 * l3 + 917504 * l1 * l2 .^ 4 * l3 .^ 3 - 1376256 * l1 * l2 .^ 2 * l3 .^ 5 + 884736 * l1 * l3 .^ 7 + 65536 * l2 .^ 8 - 262144 * l2 .^ 6 * l3 .^ 2 + 491520 * l2 .^ 4 * l3 .^ 4 - 589824 * l2 .^ 2 * l3 .^ 6 + 331776 * l3 .^ 8;
[Y]=(solve(r));
[theta_3]=double(atan(Y)*2*180/pi);
mainArrayToWrite = [Y.',theta_3.']
filename = 'data.xlsx';
sheet = 1;
xlRange = 'A1';
xlswrite(filename, mainArrayToWrite, sheet, xlRange)
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%5
7 Comments
Walter Roberson
on 28 Jan 2018
Could you confirm that class(out) is double now?
If it is and you are still getting server exception then you have an Excel problem. Check to see if you have any Excel add-ins, and if so remove or disable them.
Answers (0)
See Also
Categories
Find more on Spreadsheets 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!