C/C++ :: Assign A Matrix To Submatrix Of A Bigger Matrix?

Feb 27, 2012

I want to assign a matrix to submatrix of a bigger matrix.

ublas::matrix<int> A(8,5);
ublas::matrix<int> B(2,5);
for(size_t i=0;i<A.size1();++i)
for(size_t j=0;j<A.size2();++j)
        A(i,j)=i*A.size2()+j+1;
for(size_t i=0;i<B.size1();++i)
    for(size_t j=0;j<B.size2();++j)
        B(i,j)=i*B.size2()+j+5;
ublas::matrix_range<ublas::matrix<int> > a(A,ublas::range(0,2),ublas::range(0,5));
a=B;  

and it works.

but if the matrix is compressed_matrix type, there's something with it. the error log as below:

Check failed in file boost_1_48_0/boost/numeric/ublas/detail/matrix_assign.hpp at line 1078:
detail::expression_type_check (m, cm)
terminate called after throwing an instance of 'boost::numeric::ublas::external_logic'
what(): external logic
Aborted

I'm not sure this is a bug or not.

View 2 Replies


ADVERTISEMENT

C/C++ :: How To Assign Pointers For Boost Matrix

Aug 4, 2014

I am using boost matrix for generating matrices used for filters. I wan to assign a pointer to these matrices so i can call them out of the function. but i am not able to understand where i am failing. the example code is here.

int main(int argc, char *argv[]) {
QApplication a(argc, argv);
identity_matrix<double> M(3);
std::cout<<M<<std::endl;

[Code] ....

View 9 Replies View Related

C++ :: Using OOP To Implement Matrix Class That Provide Basic Matrix Operations

Mar 27, 2013

i want to know how i can solve this question? do i need to create a class or write the program codes.

View 12 Replies View Related

C++ :: Accept Matrix As Argument And Display Its Multiplication Matrix

Jun 1, 2014

I just want to know the code of the program: Write code to accept matrix as aurgument and display its multiplication matrix which return its multiplication matrix.

View 1 Replies View Related

C++ :: Find Matrix P For A Square Matrix A

May 25, 2014

I have to prepare a project. But I don t know how can I do this. Program will find a matrix P for a square matrix A such that P^-1 A P ....

View 15 Replies View Related

C++ :: How To Convert Compact Form Of Matrix Into Matrix Form

Oct 4, 2014

3 3
2 1 3 2 3
1 0 2
1 2 6

First line shows row and column number

First index of the second line tells the number of non-zero entries of the first row and second index tell the column number where the non zero entry is placed

for 1st row of matrix:

non-zero entries=2
column number=1
non-zero entry=3
column number=2
non-zero entry=2

covert this in the given form
0 3 3
2 0 0
0 0 6

View 1 Replies View Related

C++ :: Get Matrix Indexes From The Value

Oct 17, 2013

I have a 3x3x3 matrix with values hanging from 1 to 27.

The order is this: Code: m[0][0][0] = 1;
m[0][0][1] = 2;
m[0][0][2] = 3;
m[0][1][0] = 4;
m[0][1][1] = 5;
m[0][1][2] = 6;
.
.
.
m[1][0][0] = 10;
m[1][0][1] = 11;
m[1][0][2] = 12;
.
.
.
m[2][2][0] = 25;
m[2][2][1] = 26;
m[2][2][2] = 27;

Is there an easy way to compute the indexes given the value? For example, I know that the first index can be found by dividing the value by 9.0: Code: const int firstIndex = ceil(value / 9.0) - 1; What about the second and the third indexes? I couldn't find a pattern in the numbers, and I didn't want to iterate through the matrix (the indexes will be calculated many times).

The other option is to create arrays where the values will be indexes and the matrix indexes will be the values. I'm not sure if it is the best way though

View 6 Replies View Related

C :: Getting Error On Matrix

Mar 6, 2015

I've a code and it works on my linux laptop; however it doesnt work on a matrix server. Im getting error Code: file.c: In function CondCheck:file.c:40:3: warning: this decimal constant is unsigned only in ISO C90 [enabled by default] The code of the programme

Code:

#include <stdio.h>
#include <string.h>
#include <math.h>
/*DECIMAL TO BINARY CONVERTER*/
int BinaryConverter (int bina)
}

[code]....

View 1 Replies View Related

C++ :: How To Print Matrix

Jan 27, 2015

I wants to print matrix such that Consider that original matrix look like following

1 2 3
4 5 6
7 8 9

Now I want to print like following

7 8 9
4 5 6
1 2 3

we can use only two for loops.

View 1 Replies View Related

C++ :: Inserting A Row Into A Matrix?

May 1, 2013

I'm writing a function that inserts a row into a matrix and deletes the last row.

But I'm having trouble. What do I need to add to this function:

View 1 Replies View Related

C/C++ :: Add Row To Irregular Matrix?

Apr 7, 2013

//matrix :

12 5 35 35 35 65 170
48 15 190 85 27 27 24
100 315 119 600 116 129 70
88 110 145 90 90 90 90
77 85 130 55 210 122 200  

// the row :

152 152 149 155 170  

// matrix after adding the previous row :

12 5 35 35 35 65 170
48 15 190 85 27 27 24
100 315 119 600 116 129 70
88 110 145 90 90 90 90
77 85 130 55 210 122 200
152 152 149 155 170  

We use the pointer.

- Can I print out the irregular matrix?

View 4 Replies View Related

C++ :: Matrix Multiplication Using Pointers

Feb 15, 2014

Code:
#include<stdio.h>
#include<conio.h>
void main()

[Code] .....

This program on running returns an error of "ILLEGAL USE OF POINTER".

View 4 Replies View Related

C++ :: Multiplying Matrix Using Algorithm

Jun 3, 2013

Trying to multiply to matrixes using the following algorithm,

Code:
ABrec(A,B)
n=A.rows; //n must be multiple of 2
C is a new n*n matrix.
if(n==1)
C[0][0]=A[0][0]*B[0][0];

[Code] ....

but the code doesn't work !!!

View 4 Replies View Related

C++ :: Display Matrix Of Multiples Of 4

Feb 25, 2013

Write a c++ program to display a matrix of multiples of 4 from 1 upto 30 .....

View 1 Replies View Related

C :: Adding Two Matrix Using Malloc

Mar 3, 2015

This is my code without malloc. I need to change the array size so there is no max size for each matrix. I must dynamically allocate space for all arrays used. So I need to use malloc to create my arrays. So I cant use int A[rows][cols].

Code:

/* This program asks the user for 2 matrices called A and B, as integers, and displays their sum, C. The max dimension of each matrix is 100. */
#include<stdio.h>
// Construct function
void construct()
{
int m, n, i, j;// Variables
int first[100][100], second[100][100], sum[100][100];// Matrices variables

[Code]...

Im having a hard time understanding/using malloc. Should first, second, and sum be single pointers or double? How do I scan the matrix correctly? And how do I add them properly? Do I have to change my for loops?

Code:

/* This program asks the user for 2 matrices called A and B, as integers, and displays their sum, C. The max dimension of each matrix is 100. */
#include <stdio.h>
#include <stdlib.h>
// Construct function
void construct()

[Code]...

View 3 Replies View Related

C :: Matrix Multiplication Using Pointers

Feb 17, 2014

Code:
#include<stdio.h> Code: #include<conio.h>
void main() {
int *a[2][2],*b[2][2],*c[2][2],i,j,k;
Printf("
ENTER a MATRIX ELEMENTS

[Code] .....

View 4 Replies View Related

C :: Sending Matrix Over UDP Socket

May 18, 2014

I want to apply program to send matrix from client and server ,and return back a processed matrix ..

How I can do it using UDP ,it was easy to use tcp for that!?

View 3 Replies View Related

C :: Array And Matrix Check

Sep 24, 2013

1. Input an dimension and elements of an array from the keyboard. Count the odd elements of an array and that number join to variable K, then sort the last K elements in decreasing order.

Code:
#include <stdio.h>
main ()
{
int A[100], i, n, j, K = 0;
printf ("Type in the dimension of an array:
");
scanf ("%d", &n);

[Code]....

View 7 Replies View Related

C :: All Paths Between Two Nodes In Matrix

Jun 9, 2014

I have a adjacency matrix. (router adjacency matrix in network). The result should be the router ID.I mean, print all the possible paths from source router to target router(ROUTER id>> 1 - 2 - 3 - 4 so there are four one router). I get the error in the output.)

Code:
#include<stdio.h>
#include<conio.h>
/* graph: Pointer to the starting of mXn matrix
i, j: Current position of the robot (For the first call use 0,0)
m, n: Dimentions of given the matrix
pi: Next index to be filed in path array

[Code] .....

View 3 Replies View Related

C :: Find Minimum Value In Given Matrix M

Jun 16, 2013

The method doesn't work properly, the point of the code is to tell the minimum value in the given matrix "m", it's supposed to take the first value of the matrix store it in min_ and then compare it to every value of the matrix, if the value stored in min_ is bigger than the current value in the loop then it's stored as the new min_ and at the end it's supposed to print that minimum...

Code:
#include <stdio.h>
#include <stdlib.h>
#define SIZE 3
void minimum (int mat[SIZE][SIZE]){
int r,c;
int min_;
printf("

[Code] ......

View 5 Replies View Related

C++ :: Dynamic Size Of A Matrix

Apr 24, 2013

My purpose is to fill a matrix with random numbers. As you can see in the code, I defined a matrix called sim_matrix (which should be filled), but the dimensions of such matrix is given by the parameters that we introduce in the constructor. Because we don't know the size of such matrix until we give these parameters through the constructor. I'd like to know how to declare such matrix, or how to modify the size,...

The header of my file MonteCarlo.h is:

/* MonteCarlo.h */

#ifndef MONTECARLO_H_
#define MONTECARLO_H_
using namespace std;
class MonteCarlo {
public:
MonteCarlo(int n_paths, int n_simulations);

[Code] ......

View 2 Replies View Related

C++ :: Function Outputs Different Matrix

Jun 25, 2013

It is getting more and more annoying, everytime i progress the next hurdle is just bigger. The problem is i want to calculate inverse of a matrix but using .inv gives a matrix full of -1.#QNAN values so i decided to write one my self

a function which returns the inverse matrix but something strange happens.

when i debug through the function code it works well and check the matrix that will be returned and the elements are correct.

when the function is called and output matrix is resulted. the element of the matrix is different.

matrix = inversemat(matrx)
inside function, invmat= 3 1 2, 3 5 1, 8 1 2
outside the function matrix = -9.1249e+61 wtf.

here is the code

int main() {
double matrx[3][3]={{1,2,3},{0,1,4},{5,6,0}};
Mat matrx1(3,3,CV_64F,matrx);
Mat inmat;
inmat=inversemat(matrx1);

[Code] ...

invmat elements are correct, as for inmat the elements are too small -9.212412e+61

What is going on, when the matrix is returned.

View 19 Replies View Related

C++ :: Initialize A Matrix In While-loop?

Jun 21, 2013

I have written a program, in which I create a NxN-matrix. As I need some different samples (some different such NxN-matrices), I try to create a new matrix in each recall of a while-loop. The first recall of the while-loop works without any problems, but the second recall crashes, but I get any errors from the compiler. Here is my quell code. The problem should be with line 44:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

[Code].....

View 5 Replies View Related

C++ :: Returning 2D Matrix After Processing

Feb 10, 2014

[URL] ....

typedef double (*Matrix)[imax][jmax];
Matrix xboundary(){
Matrix xx;
double x[imax][jmax];
int i;

[Code] .....

All I want to do is be able to Return "x" in some way.

View 1 Replies View Related

C++ :: 4x4 Matrix Inverse Implementation

Sep 19, 2013

I'm implementing a 4x4 matrix class and all is going well until the inverse function turned up. I'm trying to implement the inverse function, but I can't seem to get my head around it.

I've tried the internet, but found nothing useful. Also, I've looked into source code of other programs/libraries that implement a matrix class, but the code is unreadable.

How I can implement this damn 4x4 inverse function? I know the process of inversion, but putting that process into code is proving quite a challenge.

In addition, I do have some code, but it's unmanageable and inefficient at the moment. If you want to see it, just ask.

Additional question(s): What applications does the inverse matrix have in 3-D?

View 3 Replies View Related

C++ :: Return Matrix In Function

Jul 4, 2013

How we can return a 3x3 matrix in c++ function.

My code is:

double *computeA() {
double *A = new double[2][2];
// some operations on A and then return
return A;
}

The error that I have in this case is:

error C2440: 'initializing' : cannot convert from 'double (*)[2]' to 'double *'

View 7 Replies View Related







Copyrights 2005-15 www.BigResource.com, All rights reserved