Path: news.mathworks.com!not-for-mail
From: "Steven_Lord" <slord@mathworks.com>
Newsgroups: comp.soft-sys.matlab
Subject: Re: symbolic in FOR loop. not run...WHy??
Date: Mon, 31 Dec 2012 00:48:22 -0500
Organization: MathWorks
Lines: 32
Message-ID: <kbr8v6$d3v$1@newscl01ah.mathworks.com>
References: <kb29gd$ltb$1@newscl01ah.mathworks.com>
NNTP-Posting-Host: ah-slord.dhcp.mathworks.com
Mime-Version: 1.0
Content-Type: text/plain;
	format=flowed;
	charset="UTF-8";
	reply-type=response
Content-Transfer-Encoding: 7bit
X-Trace: newscl01ah.mathworks.com 1356932902 13439 172.28.9.169 (31 Dec 2012 05:48:22 GMT)
X-Complaints-To: news@mathworks.com
NNTP-Posting-Date: Mon, 31 Dec 2012 05:48:22 +0000 (UTC)
In-Reply-To: <kb29gd$ltb$1@newscl01ah.mathworks.com>
X-Priority: 3
X-MSMail-Priority: Normal
Importance: Normal
X-Newsreader: Microsoft Windows Live Mail 14.0.8089.726
X-MimeOLE: Produced By Microsoft MimeOLE V14.0.8089.726
Xref: news.mathworks.com comp.soft-sys.matlab:785664



"Quynh Tram Nghuyen Thi" <lovelyeverything@yahoo.com.vn> wrote in message 
news:kb29gd$ltb$1@newscl01ah.mathworks.com...
> Helloo all,
> I may put a question about symbolic & for loop. I AM USING FOR loop to 
> construct functions as following:
>
> (M-FILE)
> syms x y
>    for i=1:4
>        N(i,1)=(x-1)*(y-1);N(i+4,1)=(x-5+i)*(y-2);

*snip*

If N is a double array already, this will need to convert (x-1)*(y-1) into a 
double precision value in order to store that value in an element of N. 
However, since you haven't specified a value for x or y, it cannot perform 
that conversion and so throws the error. Either specify NUMERIC values for x 
and y in your script/function [so that (x-1)*(y-1) results in a numeric 
value which can be converted to a double precision value] or initialize N 
symbolically before running this loop so MATLAB doesn't need to convert the 
symbolic (x-1)*(y-1) to perform the assignment.

N = sym(zeros(4, 4));

-- 
Steve Lord
slord@mathworks.com
To contact Technical Support use the Contact Us link on 
http://www.mathworks.com