<｜begin▁of▁sentence｜>### Instruction:
In the realm of statistical network analysis, it is often crucial to examine the structural properties of a network while considering the magnitude of connections, typically represented by edge weights. Imagine you are working with a complex networkx graph, possibly representing intricate relationships in an economic, social, or scientific dataset. To proceed with an accurate quantitative analysis, you must confirm the validity of the network's structure by ensuring all connections are quantified with appropriate numerical values.

Toward this end, when employing the graspologic software — a sophisticated toolkit designed for network and graph statistical analysis — one must ascertain that each edge in your networkx graph possesses a 'weight' attribute encoded as a real number. This verification step is fundamental before conducting further statistical evaluations or modeling that rely on weighted metrics.

Could you illustrate how one would go about invoking the `is_real_weighted` function from graspologic to authenticate that each connection within your networkx graph conforms to the criterion of having a real number weight attribute? This validation is a prerequisite to confirm the network's readiness for subsequent quantitative assessments.
### Response:
import networkx as nx
from graspologic.preconditions import is_real_weighted

# Create a graph
G = nx.Graph()

# Add nodes
G.add_nodes_from([1, 2, 3])

# Add weighted edges
G.add_edge(1, 2, weight=0.5)
G.add_edge(2, 3, weight=1.0)
G.add_edge(1, 3, weight=3.14)

# Check if all edges in the graph have real weights
are_real_weights = is_real_weighted(G)

# Print the result
print('All edges have real weights:', are_real_weights)
<|EOT|>
