필터 지우기
필터 지우기

xlswrite is giving some error while using "for loop" in matlab

조회 수: 1 (최근 30일)
Dr. Hareesha N G
Dr. Hareesha N G 2018년 1월 26일
댓글: Walter Roberson 2018년 1월 28일
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
Dr. Hareesha N G
Dr. Hareesha N G 2018년 1월 27일
No. Converted Y to double and tried. Its showing the same error.
Walter Roberson
Walter Roberson 2018년 1월 28일
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.

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

답변 (0개)

카테고리

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

Community Treasure Hunt

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

Start Hunting!

Translated by