Drexel dragonThe Math ForumDonate to the Math Forum



Search All of the Math Forum:

Views expressed in these public forums are not endorsed by Drexel University or The Math Forum.


Math Forum » Discussions » Software » comp.soft-sys.matlab

Topic: code problem
Replies: 2   Last Post: Jun 19, 2012 8:11 PM

Advanced Search

Back to Topic List Back to Topic List Jump to Tree View Jump to Tree View   Messages: [ Previous | Next ]
Jonathan Allan

Posts: 116
Registered: 12/7/04
Re: code problem
Posted: Jun 19, 2012 8:11 PM
  Click to see the message monospaced in plain text Plain Text   Click to reply to this topic Reply

TideMan <mulgor@gmail.com> wrote in message <00ccb493-6074-456d-9037-3cd77de9ad5e@googlegroups.com>...
> On Wednesday, June 20, 2012 11:22:08 AM UTC+12, Jonathan wrote:
> > Hi,
> > I'm trying to solve a simple function iteratively. My code is as follows...
> > d2=3;
> > z=0.0192;
> > newvar=zeros(1,1552);
> > for n = 1:.1:156
> > newvar(n) = (d2./n).*tanh((2*pi*d2)./n);
> > end
> >
> > The first issue is that Matlab objects to this and gives me the message "Attempted to access newvar(1.1); index must be a positive integer or logical."
> >
> > Ultimately, what I'm trying to find is the n value that equals the solution to the equation, which is indicated by z. I was planning to do this by using find, once I have run the loop.
> >
> > What am I doing wrong?
> >
> > Thanks
> > Jon

>
> First of all, you cannot proclaim that you are not solving it iteratively.
> You are solving it by preparing a look-up table.
> Secondly, as the error message has told you, you are using a floating point number as an index - you can't do that.
> Here's one way to do it without a loop:
> L=[1:0.1:156]; % I'm guessing L is wave length
> newvar = (d2./L).*tanh((2*pi*d2)./L);
>
> Now, you cannot use find, but you can use min:
> [dum,imn]=min(abs(newvar-z));
> and your solution is L(imn)


Thanks Tideman. Very simple! Appreciate the help.



Point your RSS reader here for a feed of the latest messages in this topic.

[Privacy Policy] [Terms of Use]

© Drexel University 1994-2014. All Rights Reserved.
The Math Forum is a research and educational enterprise of the Drexel University School of Education.