The Math Forum

Search All of the Math Forum:

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

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

Notice: We are no longer accepting new posts, but the forums will continue to be readable.

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: 123
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 <> wrote in message <>...
> 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]

© The Math Forum at NCTM 1994-2018. All Rights Reserved.