-
March 6th, 2010, 03:52 AM
#1
Help on evaluating functions.
Good day everyone.
I need your help.
I have this problem involving a function evaluation.
Let's say F is a mathematical function of multiple variables, and each variable has a discrete number of values.
For example: F(a,b,c)=(a+b)/c
and a={1,2,3) b={3,5,6) and c={8,9,7}
so F(1,3,8)=(1+3)/8=0.5
In my problem, F is a function of 7 variables. and each variable has a specific number of allowed values, how will I be able to solve all the possible F values? this could be easily done manually for a small number of combinations, but how about for large numbers of possible combinations.
thank you very much!
-
March 6th, 2010, 03:19 PM
#2
Re: Help on evaluating functions.
put all the allowable values per variable into a vector or list, then iterate over all of them. e.g:
(untested)
Code:
#include <iostream>
#include <vector>
using namespace std;
float func(float a, float b, float c)
{
return (a + b) / c;
}
int main()
{
vector<float> theAs;
vector<float> theBs;
vector<float> theCs;
theAs.push_back(1);
theAs.push_back(2);
theAs.push_back(3);
theBs.push_back(3);
theBs.push_back(5);
theBs.push_back(6);
theCs.push_back(7);
theCs.push_back(8);
theCs.push_back(9);
vector<float>::iterator itA = theAs.begin();
vector<float>::iterator itB = theBs.begin();
vector<float>::iterator itC = theCs.begin();
for(; itA != theAs.end(); ++itA)
{
for(; itB != theBs.end(); ++itB)
{
for(; itC != theCs.end(); ++itC)
{
cout << func(*itA, *itB, *itC) << endl;
}
}
}
}
Tags for this Thread
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|