0

Not Yet Answered # solving derivative of a function

Hi!i need your help.please help me solve my assignment in numerical analysis,our teacher asked us to get the derivative of a function using turbo c programming language.I really don't have any idea on how to solve this. The equation would be like this f(x)=3x^2-5x.In this program, the user is asked to input the function that he wants to be solved.anyone please help.....

dwks 149 Discussion Starter loimarie VernonDozier 2,218

0

0

Why don't you use the quadratic formula? If all of the equations are quadratic, it should work.

You can do square roots in C with the sqrt() function from math.h, and arbitrary powers (if you wanted to) with pow().

The first part of the problem, of course, is parsing the equation. I think you could get away with using '-' and '+' to separate the terms of the equation.

It all depends on the range of equations that your program is supposed to deal with.

Now that I re-read your post, it seems like you might be looking for the derivative of the equation, not its zeros. In that case, you'd have to apply the laws of derivatives to the equation, once you parse it . . . .

Sounds pretty complicated to me. How much experience do you have with C?

[edit] Also pay attention to what was said in your other thread . . . http://www.daniweb.com/forums/thread139491.html [/edit]

0

Thanks for the reply...It's actually very hard for me because I am not an expert of c.I only know the basics...Can you please give me any idea on parsing?

0

Well if you have the following equation:

f(x)=3x^2-5x

you need to extract the 3 and the -5. You need to know exactly what assumptions you can make regarding the user input (i.e. can you assume legal input, no spaces, integers only, that x^2 comes before x in all cases, that the polynomial degree is 2, etc.) If you can assume all of this, your parsing job is much easier. You know exactly what form the input, which will be stored in a C-style string, is. Just go through the string a character at a time till you run into a plus or minus or digit. Mark the position of the that character, then keep going till you hit a non-digit. That will mark the beginning and end of the x^2 coefficient. Find the 2 and ignore it. Keep going till you bump into the next plus or minus or digit, which is the start of the x coefficient. Go character by character till you hit a non-digit and that'll mark the end of the x coefficient. Extract those two coefficient substrings, turn them into integers, do your math, create your new polynomial, and output it.

Again, you need to know exactly what you need to be able to handle. The fewer assumptions you can make, the more cases the parser needs to deal with, i.e.

-5 x^2 + 3 - 7x

x^2-x-1

5-6x^1 + 5 x^2

But if it's plain old stuff like:

64x^2+3x

your job is considerable simpler. ctype.h could come in handy, as could atoi and itoa:

http://www.cplusplus.com/reference/clibrary/cctype/

http://www.cplusplus.com/reference/clibrary/cstdlib/atoi.html

http://www.cplusplus.com/reference/clibrary/cstdlib/itoa.html

This article has been dead for over six months. Start a new discussion instead.

Recommended Articles

Help! I want to create a java program that finds the highest even integer among the values entered by the user. Stop asking values when a value less than 1 have been entered. If no even integer is entered, display "No Even Integer"

Here is the sample output that I ...

Hello All ...

Iam Getting An Error With try to excecute the stored procedure .

I have Have Sql database , the stored procedure like so :

```
USE [MPRS]
GO
/****** Object: StoredProcedure [dbo].[Search_Licenses_By_Number] Script Date: 26-Nov-16 8:06:52 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE ...
```

I don’t want at this stage work on a big separate project as I've already got plenty ...